我想获取当前时间并将其解析为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
,但结果仍然相同。
知道为什么吗?
提前致谢。
答案 0 :(得分:2)
问题是用户的本地设置为12小时格式。将本地设置为en_US_POSIX
以覆盖用户的设置。
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
答案 1 :(得分:1)
您需要将语言环境明确设置为24小时的语言环境。
有关如何设置NSDateFormatter
的区域设置的详细信息,请参阅NSDateFormatter Locale。
请注意@mtb对该问题的回答。它解释了如何不使用区域设置。