Научитесь форматировать экземпляр Java LocalDate в строку, используя встроенные шаблоны, а также пользовательские шаблоны. Шаблон формата по умолчанию — 'yyyy-MM-dd'.
LocalDate сегодня = LocalDate.now();//1 - Формат по умолчанию - гггг-ММ-ддСтрока formattedDate = today.toString(); //2022-02-17//2 - Встроенные шаблоны ПОЛНЫЙ, ДЛИННЫЙ, СРЕДНИЙ, КОРОТКИЙШаблон DateTimeFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);Строка formattedDate = today.format(pattern); //17 февраля 2022 г.//3 - Пользовательский шаблонШаблон DateTimeFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");Строка formattedDate = today.format(pattern); //17-02-2022
1. Форматирование LocalDate с использованием встроенных шаблонов
1.1. Шаблон по умолчанию [гггг-ММ-дд]
Если мы используем метод LocalDate.toString(), то он форматирует дату в формате по умолчанию, который представляет собой гггг-ММ-дд.
- Шаблон по умолчанию указан в DateTimeFormatter.ISO_LOCAL_DATE.
- DateTimeFormatter.ISO_DATE также выдает тот же результат.
LocalDate today = LocalDate.now();System.out.println(today.toString()); //2019-04-03
1.2 Использование FormatStyle
FormatStyle — это неизменяемое и потокобезопасное перечисление стиля «локализованных» форматировщиков даты. В зависимости от Locale каждая константа может выводить другую строку.
Он имеет 4 константы для форматирования даты:
- ПОЛНЫЙ – Четверг, 17 Февраль, 2022
- ДЛИННЫЙ – 17 февраля 2022 г.
- СРЕДНИЙ – 17/02/22
- КОРОТКО – 03.04.19
LocalDate today = LocalDate.now();String formattedDate = today.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG)); //17 February 2022formattedDate = today.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)); //17-Feb-2022formattedDate = today.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)); //17/02/22formattedDate = today.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL)); //Thursday, 17 February, 2022
2. Форматирование LocalDate с использованием пользовательских шаблонов
Если нам нужно отформатировать экземпляр LocalDate в шаблоне даты, который не доступен встроенным, мы можем определить наш собственный шаблон с помощью метода LocalDate.format(DateTimeFormatter). Он принимает экземпляр DateTimeFormatter, который имеет список предопределенных форматов, а также может создать пользовательский формат, такой как 'dd/MM/yyyy'.
LocalDate today = LocalDate.now();DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");String formattedDate = today.format(dateTimeFormatter); //17-02-2022