有没有办法检测应用程序的当前设备是否使用12h我们的24h格式,以便根据用户的语言/动作设置,我可以使用一个NSDateFormatter进行12h和一个进行24h的设置?就像UIDatePicker检测并显示AM/PM Select 器(如果是12h格式).
有没有办法检测应用程序的当前设备是否使用12h我们的24h格式,以便根据用户的语言/动作设置,我可以使用一个NSDateFormatter进行12h和一个进行24h的设置?就像UIDatePicker检测并显示AM/PM Select 器(如果是12h格式).
我想起来了,这很容易.我刚刚把这个代码添加到viewDidLoad
:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
[formatter setDateStyle:NSDateFormatterNoStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
NSString *dateString = [formatter stringFromDate:[NSDate date]];
NSRange amRange = [dateString rangeOfString:[formatter AMSymbol]];
NSRange pmRange = [dateString rangeOfString:[formatter PMSymbol]];
BOOL is24h = (amRange.location == NSNotFound && pmRange.location == NSNotFound);
[formatter release];
NSLog(@"%@\n",(is24h ? @"YES" : @"NO"));
它完全返回YES
或NO
,这取决于区域设置.