NSDate与NSDateFormatter和设备的设置

时间:2013-10-11 15:51:35

标签: ios objective-c nsdate nsdateformatter

当手机中的日期格式设置为12h(am,pm)而不是24h时,我在设置NSDate时遇到问题。

这是代码。

[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *dateStart = [df dateFromString:@"2013-10-11 18:00:00"]];
NSLog(@"Date: %@", dateStart);

当设备的时间设置为24h时,此代码打印“2013-10-11 18:00:00”,如NSDateFormatter,如果手机的设置设置为12hrs,则打印为null。 您可以通过转到设置 - >常规 - >日期和时间 - >来更改设置。在那里你将复选框设置为12小时的时间格式。

为什么会发生这种情况?为什么手机设置会影响应用的行为?

感谢。

1 个答案:

答案 0 :(得分:-1)

我遇到了类似的问题,我已经“解决”它24小时工作。如果时钟设置为12h,应用程序将时间更改为24小时(不在设置中),但在内部将时间保存在核心数据中。