Java getTimeInstance (DateFormat.SHORT) выводит другой формат для другой локали?

1

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

 System.out.println(DateFormat.getTimeInstance(DateFormat.SHORT, Locale.ENGLISH).format(new Date()));

 System.out.println(DateFormat.getTimeInstance(DateFormat.SHORT, Locale.JAPAN).format(new Date()));

 System.out.println(DateFormat.getTimeInstance(DateFormat.SHORT, new Locale("vi", "VN")).format(new Date()));

Выходы:

  • Locale.ENGLISH: 10:13 AM
  • Locale.JAPAN: 10:13 Нет локализованного AM????
  • Вьетнамский 10:13 Нет локализованных AM????

Для вьетнамского языка. Я ожидал результата: 10:13 SA --- SA эквивалентно AM на английском языке

У кого-нибудь есть идеи? Благодарю!

  • 2
    Большинство стран используют 24-часовые часы, где AM / PM не нужны. Я не знаю, что обычно используют во Вьетнаме или Японии, но, по крайней мере, в европейских странах, которые я знаю, AM / PM никогда не используются. 10:13 означает 10:13 утра. Для 22:13 мы используем 22:13. Напечатайте дату днем, и вы получите подтверждение.
  • 0
    @JBNizet: Спасибо!
Теги:
datetime
format
time
localization

1 ответ

1

Нет AM для JAPAN, потому что он дает вам время в формате 24 часа

  • 0
    Таким образом, ответ зависит от типа часов 12-часовой или 24-часовой, которые используются в стране. Это разумно. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню