dateFromString在ios 6中工作但在ios 5中不工作

时间:2013-03-14 16:00:30

标签: ios objective-c ios5 ios6 nsdate

此代码适用于iOS 6.0模拟器,但不适用于iOS 5.0

NSString *unformattedDate = @"2008-09-25T20:41:11.000+00:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"];
NSDate *dateFromString = [dateFormatter dateFromString:unformattedDate];
[dateFormatter setDateFormat:@"dd.MM.yy"];
NSLog(@"%@", [dateFormatter stringFromDate:dateFromString]);

有什么不对?

1 个答案:

答案 0 :(得分:4)

由于在iOS 6中添加了ZZZZZ日期格式说明符,因此您无法使用iOS 5格式化具有+99:99格式时区的日期。两个版本都支持{{1}使用+9999格式化。如果您知道您的日期/时间字符串将始终具有冒号的时区,则可以剥离冒号。

ZZZZ

请注意,对于这样的固定格式,您必须将格式化程序的语言环境设置为特殊的“en_US_POSIX”语言环境。