检查24小时模式或AM / PM模式,以便与UIDatePicker一起使用

时间:2012-03-24 12:12:47

标签: iphone objective-c uidatepicker

我有一个包裹UIDatePicker的边框,用自定义视图隐藏周围的蓝色..我知道在时间模式下,不可能将其设置为特定的AM / PM日期选择器,或者24小时拣选。我想知道如何找出它目前的设置,所以我可以调整我的边框,因为它们的尺寸都不同。

1 个答案:

答案 0 :(得分:4)

这很简单,你应该检查myDateString中AMSymbol和PMSymbol是否是“NSNotFound”:

+(BOOL) is24h {
  NSDateFormatter *myFormatter = [[NSDateFormatter alloc] init];
  [myFormatter setLocale:[NSLocale currentLocale]]; 
  [myFormatter setDateStyle:NSDateFormatterNoStyle]; 
  [myFormatter setTimeStyle:NSDateFormatterShortStyle]; 

  NSString *myDateString = [myFormatter stringFromDate:[NSDate date]]; 
  NSRange myAmRange = [myDateString rangeOfString:[myFormatter AMSymbol]]; 
  NSRange myPmRange = [myDateString rangeOfString:[myFormatter PMSymbol]]; 

  return (myAmRange.location == NSNotFound && myPmRange.location == NSNotFound);
}