NSDateFormatter时间格式化

项目里有一个时间选择器,以前默认为年月日时分,最进需要改为月日星期时分,进行格式化:

[_dateFormatter1 setDateFormat:@"MM月dd日EEEEHH时mm分"];
 NSString *seleDate = [NSString stringWithFormat:@"%@%@%@",_selectDay,_hour,_mintue];
_seleteDate = [_dateFormatter1 dateFromString:seleDate];

格式化得到的时间_seleteDate为2000-XX-XX,年份一下子变为了2000年?最初以为是星期的格式EEEE导致的,开始断点调试查找问题:

[_dateFormatter1 setDateFormat:@"MM月dd日HH时mm分"];
[_dateFormatter1 setDateFormat:@"HH时mm分"];

得到的结果年份还是2000,排除EEEE的可能,于是推测是年份问题,再次调试

[_dateFormatter1 setDateFormat:@"yyyy年MM月dd日EEEEHH时mm分"];

得到结果为2019-XX-XX,解决该问题。
推测是由于未设置年份的时间格式,会默认选择2000年。

你可能感兴趣的:(NSDateFormatter时间格式化)