-1

我的日期转换有问题,我没有成功找到解决方案。这会让我发疯。因此,我在字符串类型下从 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"

在日期对象上:日期 __NSDate * 2016 -12-30 11:51:46 CET 0x1dd3e950

有人对这个问题有想法吗?

4

2 回答 2

4

使用"yyyy"而不是"YYYY". "YYYY"是基于每周的年份。

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
于 2013-10-28T11:16:53.537 回答
2

尝试这个:

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZ];
于 2013-10-28T11:19:41.270 回答