Метод ofPattern класса DateTimeFormatter
Метод ofPattern класса DateTimeFormatter создает
форматтер даты и времени по указанному шаблону.
В первый параметр мы передаем строку с шаблоном,
например "dd.MM.yyyy" или "yyyy-MM-dd HH:mm:ss".
Во второй необязательный параметр можно передать локаль
Locale, которая влияет на названия месяцев, дней недели
и другие локализованные элементы. Полученный объект
DateTimeFormatter затем используется для форматирования
и разбора дат и времени.
Синтаксис
DateTimeFormatter.ofPattern(pattern)
DateTimeFormatter.ofPattern(pattern, locale)
Пример
Создадим форматтер по шаблону "dd.MM.yyyy"
и отформатируем текущую дату:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main
{
public static void main(String[] args)
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
LocalDate date = LocalDate.of(2026, 9, 16);
String res = date.format(formatter);
System.out.println(res);
}
}
Результат выполнения кода:
"16.09.2026"
Пример
Создадим форматтер по шаблону "yyyy-MM-dd HH:mm:ss"
и отформатируем дату со временем:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main
{
public static void main(String[] args)
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.of(2026, 9, 16, 14, 30, 45);
String res = dateTime.format(formatter);
System.out.println(res);
}
}
Результат выполнения кода:
"2026-09-16 14:30:45"
Пример
Создадим форматтер с локалью и выведем название месяца:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Main
{
public static void main(String[] args)
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMMM yyyy", Locale.ENGLISH);
LocalDate date = LocalDate.of(2026, 9, 16);
String res = date.format(formatter);
System.out.println(res);
}
}
Результат выполнения кода:
"16 September 2026"
Пример
Разберем строку с датой с помощью созданного форматтера:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main
{
public static void main(String[] args)
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
LocalDate res = LocalDate.parse("16.09.2026", formatter);
System.out.println(res);
}
}
Результат выполнения кода:
"2026-09-16"
Смотрите также
-
класс
DateTimeFormatter,
который форматирует и разбирает даты и время -
метод
format,
который форматирует дату и время по шаблону -
метод
parse,
который разбирает строку в дату и время -
класс
LocalDateTime,
который представляет дату и время без часового пояса