Функция toFormat

Функция toFormat класса DateTimeFormatter преобразует форматтер даты и времени в объект java.text.Format. Это позволяет использовать современный DateTimeFormatter с устаревшими API, которые работают с java.text.Format. Функция возвращает объект Format, который можно использовать для форматирования и парсинга дат.

Импорт

kotlinimport java.time.format.DateTimeFormatter
import java.text.Format

Синтаксис

kotlinfun toFormat(): Format
kotlinfun toFormat(parseQuery: TemporalQuery<*>?): Format

Пример

Преобразуем DateTimeFormatter в Format и используем его для форматирования даты:

kotlinimport java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.text.Format

val date = LocalDate.of(2025, 12, 31)
val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy")
val format: Format = formatter.toFormat()

val formattedDate = format.format(date)
println(formattedDate)

Результат выполнения кода:

kotlinString "31/12/2025"

Пример

Используем toFormat с параметром для парсинга даты:

kotlinimport java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.time.temporal.TemporalQuery
import java.text.Format

val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy")
val query: TemporalQuery<LocalDate> = LocalDate::from
val format: Format = formatter.toFormat(query)

val parsedDate = format.parseObject("31/12/2025") as LocalDate
println(parsedDate)

Результат выполнения кода:

kotlinString "2025-12-31"

Пример

Интегрируем современный форматтер с устаревшим кодом, использующим SimpleDateFormat:

kotlinimport java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import java.text.Format

val dateTime = LocalDateTime.now()
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val format: Format = formatter.toFormat()

// Использование с устаревшим API
val legacyFormatted = format.format(dateTime)
println("Legacy format: $legacyFormatted")

Результат выполнения кода:

kotlinString "Legacy format: 2025-12-31 15:30:45"

Смотрите также

  • функцию ofPattern класса DateTimeFormatter,
    которая создает форматтер по шаблону
  • функцию format класса DateTimeFormatter,
    которая форматирует дату и время в строку
  • функцию parse класса DateTimeFormatter,
    которая преобразует строку в объект даты и времени
  • класс LocalDateTime,
    который представляет дату и время