Класс DateTimeFormatter
Класс DateTimeFormatter
из пакета java.time.format
используется для форматирования объектов даты и времени в строку и обратного парсинга строк в объекты.
Он поддерживает предопределенные форматы, такие как ISO_LOCAL_DATE, а также позволяет создавать пользовательские форматы с помощью шаблонов.
Импорт
import java.time.format.DateTimeFormatter
Синтаксис
// Создание форматтера из шаблона
fun ofPattern(pattern: String): DateTimeFormatter
// Форматирование даты/времени в строку
fun format(temporal: TemporalAccessor): String
// Парсинг строки в дату/время
fun parse(text: CharSequence): TemporalAccessor
// Парсинг с указанием типа
fun <T : TemporalAccessor> parse(text: CharSequence, type: TemporalQuery<T>): T
Пример
Создадим форматтер для формата день/месяц/год и отформатируем дату:
import java.time.LocalDate
import java.time.format.DateTimeFormatter
val date = LocalDate.of(2025, 12, 31)
val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy")
val formattedDate = formatter.format(date)
println(formattedDate)
Результат выполнения кода:
String "31/12/2025"
Пример
Распарсим строку с датой в формате год-месяц-день используя предопределенный форматтер:
import java.time.LocalDate
import java.time.format.DateTimeFormatter
val dateStr = "2025-07-15"
val formatter = DateTimeFormatter.ISO_LOCAL_DATE
val date = LocalDate.parse(dateStr, formatter)
println(date)
Результат выполнения кода:
String "2025-07-15"
Пример
Создадим форматтер для даты и времени и отформатируем объект LocalDateTime
:
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 30, 45)
val formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss")
val formattedDateTime = formatter.format(dateTime)
println(formattedDateTime)
Результат выполнения кода:
String "31.12.2025 14:30:45"
Пример
Используем форматтер с разными локалями для форматирования даты:
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.Locale
val date = LocalDate.of(2025, 12, 31)
val formatter = DateTimeFormatter.ofPattern("dd MMMM yyyy", Locale.US)
val formattedDate = formatter.format(date)
println(formattedDate)
Результат выполнения кода:
String "31 December 2025"
Смотрите также
-
функцию
parse
классаLocalDate
,
которая преобразует строку в объект даты -
функцию
parse
классаLocalDateTime
,
которая преобразует строку в объект даты и времени -
функцию
ofPattern
классаDateTimeFormatter
,
которая создает форматтер из шаблона -
класс
LocalDateTime
,
который представляет дату и время