Как я узнаю, использует ли локаль 12 или 24-часовое время в Java?

В Java я хочу распечатать только время суток в часах и минутах и хотеть, чтобы он правильно переключился между, например, "13:00" и "13:00" согласно локали. Как я делаю это?

7
задан stefanlindbohm 27 February 2012 в 22:52
поделиться

2 ответа

В языковом стандарте явно не указывается, какой формат времени является предпочтительным - 12 или 24 часа. Скорее, языковые форматы даты обрабатываются локалью, определяющей форматы напрямую.

  • Если вы просто хотите использовать формат времени «предпочтительный языковой стандарт», просто вызовите один из трех DateFormat.getTimeInstance (...) статических методов и используйте любой DateFormat он возвращается.

  • Если у вас есть экземпляр SimpleDateFormat в ваших руках, вы можете (если бы вы были готовы выполнить значительный объем кода) вызвать toPattern () и проанализировать полученный шаблон, чтобы посмотрите, используются ли в нем 12 или 24-часовые даты ... или ни то, ни другое. Вы даже можете настроить шаблон для использования «другой» формы, а затем вызвать applyPattern (String) , чтобы изменить формат.

5
ответ дан 7 December 2019 в 01:15
поделиться

Используйте класс java.text.DateFormat , чтобы создать правильный вывод для данного времени.

Из API:

Чтобы отформатировать дату для текущей локали, используйте один из статических заводских методов:

 myString = DateFormat.getDateInstance (). Format (myDate);

Вы просто используете метод getTimeInstance () и вызываете метод format () для возвращенного объекта DateFormat

4
ответ дан 7 December 2019 в 01:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: