Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
982 of 1310 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Класс 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,
    который представляет дату и время