В Java я хочу распечатать только время суток в часах и минутах и хотеть, чтобы он правильно переключился между, например, "13:00" и "13:00" согласно локали. Как я делаю это?
В языковом стандарте явно не указывается, какой формат времени является предпочтительным - 12 или 24 часа. Скорее, языковые форматы даты обрабатываются локалью, определяющей форматы напрямую.
Если вы просто хотите использовать формат времени «предпочтительный языковой стандарт», просто вызовите один из трех DateFormat.getTimeInstance (...)
статических методов и используйте любой DateFormat
он возвращается.
Если у вас есть экземпляр SimpleDateFormat
в ваших руках, вы можете (если бы вы были готовы выполнить значительный объем кода) вызвать toPattern ()
и проанализировать полученный шаблон, чтобы посмотрите, используются ли в нем 12 или 24-часовые даты ... или ни то, ни другое. Вы даже можете настроить шаблон для использования «другой» формы, а затем вызвать applyPattern (String)
, чтобы изменить формат.
Используйте класс java.text.DateFormat , чтобы создать правильный вывод для данного времени.
Из API:
Чтобы отформатировать дату для текущей локали, используйте один из статических заводских методов:
myString = DateFormat.getDateInstance (). Format (myDate);
Вы просто используете метод getTimeInstance ()
и вызываете метод format ()
для возвращенного объекта DateFormat