0

我有一个日期字符串,例如:

2012-04-09T23:57:44.070Z

我的日期格式是:

[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];

但它返回零。我的日期格式有什么问题?谢谢

4

1 回答 1

5

你不需要对逃避-:. 此外,您的秒字符是错误的。你应该使用:

NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
[f setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"];

NSLog(@"%@", [f dateFromString:@"2012-04-09T23:57:44.070Z"]);

这记录:

2012-04-09 23:57:44 +0000

如果您没有在日期格式化程序上设置时区,它将假定您指的是设备现在所在的时区,而不是GMT 时区(这Z是暗示的意思)。

于 2012-04-10T00:07:04.813 回答