2015-10-04 70 views
4

我在iOS 9中的日期格式设置有问题,它可以与iOS 8一起使用,当它在iOS 9模拟器中测试时也可以使用,但是当测试它时在iOS 9的真实设备上,我收到了空。下面是代码,我使用iOS 9中的日期格式不起作用

NSLog(@"String Date: '%@'", stringDate); 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss a"]; 
NSDate *date = [dateFormat dateFromString:stringDate]; 
NSLog(@"Date: %@", date); 

在日志中我得到:

String Date: '8/29/2015 4:13:39 PM' 
Date: (null) 

另外,如果我用大写的H(H或HH)我一直都想与这一个小时是10。

回答

5

尝试设置日期格式化程序的语言环境。

[dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; 

Apple Documentation

如果你有固定格式的日期的工作,你应该首先设置 语言环境的日期格式,以适合您的固定 格式的东西。在大多数情况下,要选择的最佳语言环境是en_US_POSIX,这是一个 语言环境,专门设计用于产生美式英语结果 ,无论用户和系统首选项如何。

编辑:斯威夫特版本

dateFormat.locale = NSLocale(localeIdentifier: "en_US_POSIX") 
+0

这将如何在迅速工作? –

+0

请参阅我更新的帖子。 @YestayMuratov – Abhinav