【发布时间】:2009-12-18 18:36:12
【问题描述】:
我以为我最近在 SO 上看到有人在回答这个问题,但现在我找不到了。这是我现在用来确定设置是否用于 24 小时时间显示的代码。它适用于美国,但我不知道它是否适用于所有地区。这是否足够或有更好的方法来找出当前设置?
+(BOOL) use24HourClock
{
BOOL using24HourClock = NO;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale: [NSLocale currentLocale]];
[dateFormatter setDateStyle:kCFDateFormatterNoStyle];
[dateFormatter setTimeStyle:kCFDateFormatterShortStyle];
// get date/time (1Jan2001 0000UTC)
NSDate* midnight = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate:0];
NSString* dateString = [dateFormatter stringFromDate: midnight];
// dateString will either be "15:00" or "16:00" (depending on DST) or
// it will be "4:00 PM" or "3:00 PM" (depending on DST)
using24HourClock = ([dateString length] == 5);
[midnight release];
[dateFormatter release];
return using24HourClock;
}
【问题讨论】:
标签: iphone datetime localization