2012-02-15 62 views
2

可能重複:
Add AM/PM to datepicker?的UIDatePicker 24小時

我的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

它是因爲區域設置(俄羅斯)默認爲24小時。它是SDK的限制/問題。

最簡單的解決:

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

爲你寫的,我沒有帶中的UIDatePicker了24小時我做的事情。 我在做NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier:@「ru_RU」]; [datePicker setLocale:locale]; [locale release]; 它不起作用 – Pavel 2012-02-15 18:28:17

+0

@Pavel俄羅斯的語言環境標識符只是「ru」。 – 2016-04-05 09:43:09