NSDateFormatter基于iPhone的时间设置

时间:2014-04-06 23:13:34

标签: ios objective-c nsdateformatter

我有NSDateFormatter显示时间为h:mm,以显示时间为下午7:50。

对于时间显示为5:55 PM等的手机,此功能正常,但有不同国家/地区的手机在状态栏上显示时间为下午05:55,并将NSDateTimeFormatter设置为{ {1}}似乎返回(null)。

是否有任何变通方法或是否有最好的方法来处理这些情况?我正在考虑检查nil,然后用h:mm重试NSDateFormatter,但这对我来说听起来很丑。我想确保我做得对。

2 个答案:

答案 0 :(得分:0)

[dateFormatter setTimeStyle:NSDateFormatterShortStyle];

NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]);

对于德语和地区格式德语,它会记录01:46,而对于英语和美国,它会记录1:46 AM。我检查过:它会在中午之后正确打印13:521:52 PM

答案 1 :(得分:0)

我终于使用" en_US_POSIX"来转换每个日期和时间。语言环境。我知道,它并不是我想要的,但它适用于不同的地区和时间格式。我仍然需要弄清楚如何仅仅基于用户的区域和时间格式来表达这些日期和时间。也许,再过一天。