我的日期转换存在问题,我没有成功找到解决方案。这会让我发疯。 所以我在一个字符串类型下从REST Web服务中检索了一个日期,当我尝试将日期转换为NSDate时,我失去了一年。
以下是代码:
- (NSDate *)convertISOToDate:(NSString *) dateString {
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setCalendar:[NSCalendar currentCalendar]];
[formatter setDateFormat:@"YYYY-MM-dd'T'HH:mm:ssZZZ"];
[formatter setLocale:[NSLocale currentLocale]];
NSDate *date = [formatter dateFromString:dateString];
return date;
}
当我调试时,我在输入中有这个:dateString __NSCFString * @“ 2017 -12-30T11:51:46 + 0100”
并在日期对象上:date __NSDate * 2016 -12-30 11:51:46 CET 0x1dd3e950
有人对这个问题有所了解吗?
答案 0 :(得分:4)
使用"yyyy"
代替"YYYY"
。 "YYYY"
是基于每周的一年。
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
答案 1 :(得分:2)
试试这个:
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZ];