我有这个代码块来读取ISO 8601日期/时间规范。问题是由于某种原因,月份不起作用。我每次转换月份都是“01”。我做错了什么?
NSDateFormatter *UTCDateFormat = [[NSDateFormatter alloc] init];
[UTCDateFormat setDateFormat:@"yyyy-MM-DD'T'HH:mm:ss'Z'"];
[UTCDateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[UTCDateFormat setCalendar:[[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]];
[UTCDateFormat setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
NSLog(@"%@", [UTCDateFormat dateFromString:dateString]);
因此,例如,如果dateString为:
@"2002-03-12T21:13:27Z"
我的输出是:
2002-01-12 21:13:27 +0000
我已经尝试过的事情:
答案 0 :(得分:18)
试试这个
[UTCDateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
DD是“一年中的一天”,不是“一个月的日子”。查找NSDateFormatter格式的一个很好的来源是this table