【问题标题】:UIDatePicker 24h [duplicate]UIDatePicker 24h [重复]
【发布时间】:2012-02-15 18:10:04
【问题描述】:

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

我有 UIDatePicker。如果我选择俄罗斯地区,我有 24 小时,如果我选择美国,我有 12 小时 AM/PM。 我怎么可以选择任何地区并有 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]];
}

【问题讨论】:

    标签: iphone objective-c ios


    【解决方案1】:

    这是因为区域设置(俄罗斯)默认为 24​​ 小时。这是 SDK 的限制/问题。

    最简单的解决方法:

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

    【讨论】:

    • 我按照你写的做,但我在 UIDatePicker 中没有 24 小时。我在做 NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"ru_RU"]; [datePicker setLocale:locale]; [语言环境发布];它不起作用
    • @Pavel 俄罗斯的语言环境标识符只是“ru”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多