IOS - 使用NSDateFormatter的日期字符串不识别HH格式

时间:2014-05-08 22:35:29

标签: ios objective-c date nsdate nsdateformatter

我有这个日期字符串:

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];

=> return:(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"]

=> return:(null)

WTF ???

1 个答案:

答案 0 :(得分:0)

@rmaddy给我们解决方案:

将格式化程序的区域设置设置为en_US_POSIX

的特殊区域设置