我有一个 drawRect,它使时间轴有点像 iCal。我使用 for 循环沿着 ScrollView 写入时间。我想知道是否 A) 有一种方法可以确定用户是在系统设置中选择了 12 小时制还是 24 小时制,以及 B) 是否有更有效的方法来更改时间标签然后每次调用“if”查询'for' 循环。 干杯
最佳答案
较早的答案假定“AM”和“PM”符号以罗马字符表示。此代码改编自 keyur bhalodiya通过使用 NSDateFormatter
的 AMSymbol
和 PMSymbol
方法,在处理中文等语言方面做得更好。
-(BOOL)uses24hourTime
{
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]];
return (amRange.location == NSNotFound && pmRange.location == NSNotFound);
}
关于iphone - 查找用户是否更喜欢 12/24 小时制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8520467/