UIDatePicker 24小时

时间:2012-02-15 18:10:04

标签: iphone objective-c ios

  

可能重复:
  Add AM/PM to datepicker?

我有UIDatePicker。如果我选择俄罗斯地区我有24小时,如果我选择美国我有12小时上午/下午。 怎么做我可以选择任何地区并有24小时?

datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 45, 325, 250)];
datePicker.datePickerMode = UIDatePickerModeTime;
datePicker.hidden = YES;
[datePicker addTarget:self action:@selector(changeDateInLabel:) forControlEvents:UIControlEventValueChanged];

- (void)changeDateInLabel:(id)sender{
     NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init]autorelease]; 
    [dateFormatter setDateStyle:NSDateFormatterNoStyle]; 
    [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; 
    datelabel.text=[dateFormatter stringFromDate:[datePicker date]];
}

1 个答案:

答案 0 :(得分:1)

因为语言环境(俄罗斯)默认为24小时。它是SDK的限制/问题。

最容易修复:

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[datePicker setLocale:locale];
[locale release];