我有一个日期字符串,例如:
2012-04-09T23:57:44.070Z
我的日期格式为:
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];
但是它回来了。我的日期格式有什么问题? 感谢
答案 0 :(得分: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时区(这就是{ {1}}暗示)。