iOS时间为24小时格式

时间:2016-02-16 14:30:22

标签: ios date time nsdate nsdateformatter

我想获取当前时间并将其解析为String 24 hours格式,例如13:30

这是我的代码:

NSDate *date = [NSDate date];
NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setDateFormat:@"HH:mm"];
NSString *timeString = [formatter stringFromDate:date];

适用于iOS simulator,但在我的iPad我得到3:30 PM

我玩过不同的formats,但结果仍然相同。

知道为什么吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

问题是用户的本地设置为12小时格式。将本地设置为en_US_POSIX以覆盖用户的设置。

dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];

答案 1 :(得分:1)

您需要将语言环境明确设置为24小时的语言环境。

有关如何设置NSDateFormatter的区域设置的详细信息,请参阅NSDateFormatter Locale

请注意@mtb对该问题的回答。它解释了如何不使用区域设置。