3
我遇到了一个陌生人的问题。 NSDateFormatter无法将1988-04-10
解析为iOS 6中的NSDate实例,但它适用于iOS 4和iOS 5.它是一个错误吗?NSDateFormatter无法将“1988-04-10”解析为iOS 6中的NSDate实例。这是一个错误吗?
以下是验证码。这很简单。
NSArray *values = @[@"1988-04-09", @"1988-04-10", @"1988-04-11"];
NSDateFormatter* df = [[NSDateFormatter alloc] init];
NSLocale *posixLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[df setLocale:posixLocale];
[df setDateFormat:@"yyyy'-'MM'-'dd"];
NSLog(@"timeZone:%@, locale:%@", df.timeZone, df.locale.localeIdentifier);
NSDate* date = nil;
for (NSString *value in values) {
date = [df dateFromString:value];
NSLog(@"The date is %@", date);
}
[posixLocale release];
[df release];
以下是结果在IOS 4和iOS 5.
2013-03-19 09:55:32.249 SampleProject[1844:f803] timeZone:Asia/Shanghai (CST (China)) offset 28800, locale:en_US_POSIX
2013-03-19 09:55:32.250 SampleProject[1844:f803] The date is 1988-04-08 16:00:00 +0000
2013-03-19 09:55:32.250 SampleProject[1844:f803] The date is 1988-04-09 16:00:00 +0000
2013-03-19 09:55:32.251 SampleProject[1844:f803] The date is 1988-04-10 15:00:00 +0000
以下是结果在IOS 6.
2013-03-19 09:42:40.824 SampleProject[1455:11303] timeZone:Asia/Shanghai (GMT+08:00) offset 28800, locale:en_US_POSIX
2013-03-19 09:42:40.827 SampleProject[1455:11303] The date is 1988-04-08 16:00:00 +0000
2013-03-19 09:42:40.827 SampleProject[1455:11303] The date is (null)
2013-03-19 09:42:40.828 SampleProject[1455:11303] The date is 1988-04-10 15:00:00 +0000
它是空值1988-04-10
。是一个错误。任何人都可以解释吗?
确实,http://www.timeanddate.com/worldclock/timezone.html?n=237&syear=1980 – Joni 2013-03-19 02:07:27
这是疯了,你知道的! +1 – borrrden 2013-03-19 02:07:49
酷,这是理由。非常感谢你。 – 2013-03-19 02:23:36