Как я могу форматировать дату по языку в Java?

Мне нужно форматировать дату для приложения с множеством языков, что лучше всего подходит для форматирования даты, потому что у каждой страны есть формат форматирования даты, поэтому можно ли форматировать дату по языку?

Ответ 1

Да, используя DateFormat.getDateInstance(int style, Locale aLocale) Это отображает текущую дату по языковому признаку.

Итак, например:

DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, yourLocale);
String formattedDate = df.format(yourDate);

См. документы для точного значения параметра стиля (SHORT, MEDIUM и т.д.)

Ответ 3

Joda времени

Используя библиотеку Joda-Time 2.4. Класс DateTimeFormat представляет собой factory форматов DateTimeFormatter. Этот класс предлагает метод forStyle для доступа к форматировщикам, соответствующим Locale.

DateTimeFormatter formatter = DateTimeFormat.forStyle( "MM" ).withLocale( Java.util.Locale.CANADA_FRENCH );
String output = formatter.print( DateTime.now( DateTimeZone.forID( "America/Montreal" ) ) );

Аргумент с двумя буквами указывает формат для части даты и временной части. Укажите символ "S" для короткого стиля, "M" для носителя, "L" для длинных и "F" для заполнения. Дата или время можно опустить, указав символ стиля "-" HYPHEN.

Обратите внимание, что мы указали как локаль, так и часовой пояс. Некоторые люди путают этих двух.

  • Часовой пояс является смещением от UTC и набором правил для летнего времени и других аномалий вместе с их историческими изменениями.
  • Язык - это человеческий язык, такой как Français, а также код страны, такой как Канада, который представляет культурные практики, включая форматирование строк даты.

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

Ответ 5

Я согласен с Laura и SimpleDateFormat, который является лучшим способом управления датами в java. Вы можете установить шаблон и локаль. Кроме того, вы можете взглянуть на эту статью статью в Википедии о дате в мире - существует не так много разных способов ее использования; обычно США/Китай/остальной мир -