Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 硬件相关的NSDateFormatter dateFromString:bug(返回nil)_Ios_Nsdate_Nsdateformatter_Iphone 5 - Fatal编程技术网

Ios 硬件相关的NSDateFormatter dateFromString:bug(返回nil)

Ios 硬件相关的NSDateFormatter dateFromString:bug(返回nil),ios,nsdate,nsdateformatter,iphone-5,Ios,Nsdate,Nsdateformatter,Iphone 5,我有几个日期字符串需要转换为NSDates。 我的解析代码如下所示: NSString *s = [pair objectForKey:@"nodeContent"]; NSDateFormatter *f = [[NSDateFormatter alloc] init]; [f setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZ"]; self.date = [f dateFromString:s]; 以上代码在我们测试过的所有设备和模拟器中都能正常工作。 奇怪的

我有几个日期字符串需要转换为NSDates。 我的解析代码如下所示:

NSString *s = [pair objectForKey:@"nodeContent"];
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZ"];
self.date = [f dateFromString:s];
以上代码在我们测试过的所有设备和模拟器中都能正常工作。 奇怪的是,当上述代码在任何运行iOS 6.1或7.0.x的iPhone 5上运行时,行
self.date=[f dateFromString:s]每次都返回nil

我已经检查过,字符串
s
存在,并且与正确解析日期的设备并排比较时包含相同的字符

这是一个示例日期字符串: `2013-10-31T21:50:00-06:00'


我在这里遗漏了什么吗?

这是因为您没有将日期格式化程序的区域设置设置为特殊的
en\u US\u POSIX
区域设置。最有可能的是,您的iPhone 5在24小时设置中有不同的设置


每当解析固定格式的字符串时,都需要设置特殊的语言环境。

quantify any。这可能是区域设置的问题吗?可能是重复的,谢谢。我添加了一行
[f setLocale:[NSLocale localeWithLocaleIdentifier:@“en_US_POSIX”]现在就可以了。