我有约会(NSDate),
我转换为“EEEE,dd MMM YYYY”格式,因此输出为。 “2017年5月22日星期一”
但是当将此字符串转换为日期时,它会给出错误的日期
使用此代码
NSDateFormatter * formatter = [NSDateFormatter new];
[formatter setDateFormat:@"EEEE,dd MMM YYYY"];
NSDate *currentDate = [formatter dateFromString:“Monday,22 May 2017”];
错误的输出是2016-12-25 18:30:00 +0000
任何人都可以帮忙吗?
答案 0 :(得分:2)
日期没有正确的格式,但在此使用yyyy
代替YYYY
@“YYYY”是以周为基础的日历年。
@“yyyy”是普通日历年。
[formatter setDateFormat:@"EEEE,dd MMM yyyy"];
表示样本
NSDateFormatter * formatter = [NSDateFormatter new];
[formatter setDateFormat:@"EEEE,dd MMM yyyy"];
NSDate *currentDate = [formatter dateFromString:@"Monday,22 May 2017"];
答案 1 :(得分:-1)
问题出在这一行[formatter setDateFormat:@"EEEE,dd MMM YYYY"];
。
此yyyy
指定日历年,而YYYY
指定年份(年份周)。因此,您应该使用yyyy
而不是YYYY
。
所以你的代码将是这样的
[formatter setDateFormat:@"EEEE,dd MMM yyyy"];