【发布时间】:2014-05-08 22:35:28
【问题描述】:
我有这个日期字符串:
NSString *dateString = @"2014-05-08T16:48:45.000Z";
我想把这个转换成 NSDate。
所以,我这样做了:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
NSDate *date = [dateFormatter dateFromString:dateString];
=> 返回:(null)
为了了解是什么造成了这个问题,我逐个元素尝试了这样的:
NSString *dateString = @"2014-05-08T";
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'"]
=> 返回 2014-05-08 07:00:00 AM +0000(好!)
但是当我有“HH”时:
NSString *dateString = @"2014-05-08T16";
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH"]
=> 返回:(null)
WTF???
【问题讨论】:
-
将格式化程序的语言环境设置为
en_US_POSIX的特殊语言环境。它解决了这类问题。 -
是 ;) 谢谢@rmaddy!
标签: ios objective-c date nsdate nsdateformatter