Как отключить AM / PM в UIDatePicker

Как отключить или скрыть AM / PM вUIDatePicker из конструктора кода / интерфейса?

Я хочу иметь 24-часовой режим выбора времени вUIDatePicker, Пожалуйста помоги

 Vladimir Grichina15 июл. 2010 г., 16:50
Как ответили тутstackoverflow.com/questions/1151335/... и здесьstackoverflow.com/questions/2894161/..., экран выбора зависит от настроек страны, а не от языковых настроек. В вашем примере вы меняете только языковой стандарт.
 FunkyKat19 окт. 2012 г., 16:01
Для iOS 6 вы можете увидеть мой ответstackoverflow.com/a/12975871/1376032

Ответы на вопрос(5)

Согласно документации вы должны быть в состоянии установитьlocale свойство UIDatePicker для локали, которая использует 24-часовой формат.

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

Увы, существует ошибка, приводящая к тому, что и симулятор, и устройство продолжают макетировать указатель даты в соответствии с международными предпочтениями пользователей.

Как вы предлагаете, вы должны бросить свой выигрышный сборщик дат, чтобы иметь возможность отображать 24-часовой сборщик.

 DawnSong24 июн. 2015 г., 03:27
Проблема в том, что пользователи не знакомы с датским. Таким образом, решение должно быть отклонено.
 Sawan Cool08 февр. 2013 г., 12:34
Спасибо, Бро, за его работу ... datePicker.datePickerMode = UIDatePickerModeTime; NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier: @ "da_DK»]; [datePicker setLocale: locale];
 Niels Castle27 янв. 2010 г., 09:54
В исходном ответе (теперь обновленном) я ошибся ни в устройстве, ни в симуляторе. Отчет об ошибке был подан в Apple. Сейчас яделай так, как ты предлагаешь - катайся сам.
 Vladimir Grichina15 июл. 2010 г., 15:26
Это не ошибка, вы только меняете язык, а на самом деле это зависит от настроек страны.
 Alix15 мар. 2019 г., 22:02
Я использовал этот трюк. да, он отображает время в формате 24 часа. но проблема начинается, когда вы начинаете работать со временем. когда вы убираете дату из палитры, вы конвертируете дату из часового пояса en_GB.
 Binay Shrestha27 янв. 2010 г., 04:46
Я пробовал en_GB и локаль dk_DK не работает ни в симуляторе, ни в устройстве. Но я заметил, что если вы установили 24-часовой формат в настройках iphone, тогда UIDatepicker отображает 24-часовой формат. Так я должен сделать свой собственный UIPickerView или есть способ добиться этого?
 Niels Castle25 июн. 2015 г., 22:39
Это'Это пример. Это перечисляет одну локаль для краткости

Это удаляет AM / PM из сборщика ...

UIDatePicker *myDatePicker = [[UIDatePicker alloc]init];
[myDatePicker setDatePickerMode:UIDatePickerModeDate];
 jrturton02 июн. 2012 г., 10:20
Это также убирает время! Я нене думаю, что это то, чтотребуется.

AFAIK вы можетет (в пределах SDK). AP / PM исчезнет, если пользователь выберет 24-часовой формат. Сделать свой собственныйUIPickerView в случае, если это важно.

AM / PM связан с iphone 'Настройки локали. Вы можете принудительно заставить язык выбора что-то, что неУ вас не должно быть AM / PM, как у ro_RO, или, если вы все время хотите использовать AM / PM, вы можете использовать en_US. Для настройки этого вы можете сделать это в дизайнере справа под локалью как английский (США) или по коду

[timePicker setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];

Я знаю, что это старое ... но я недавно изучил это и обнаружил это через некоторое тестирование:

[datePicker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_FR"]];

Это в основном говорит мне, что "язык» это английский ("ан» часть) и "стиль времени " является французским (по умолчанию 24 часа) ("FR» часть). Я объединил их методом проб и ошибок и обнаружил, что это работает для того, что я хотел, а именно для того, чтобы иметь "Дата и время" сборщик, который также выбирает за 24 часа (нет раздела AM / PM на сборщике, на английском языке).

Проблема в том, что когда вы берете дату здесь, язык может быть неправильным ->

- (void)changeDate:(UIDatePicker *)sender {

Так что сделайте это, чтобы исправить локаль в части выбора изменения даты:

[sender setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_FR"]];

Ваш ответ на вопрос