Константа ISO_ZONED_DATE_TIME

Константа ISO_ZONED_DATE_TIME класса DateTimeFormatter представляет предопределенный форматтер для парсинга и форматирования даты и времени с информацией о часовом поясе в соответствии со стандартом ISO-8601. Формат включает дату, время, смещение от UTC и идентификатор часового пояса.

Импорт

kotlinimport java.time.format.DateTimeFormatter

Синтаксис

kotlinDateTimeFormatter.ISO_ZONED_DATE_TIME

Пример

Используем ISO_ZONED_DATE_TIME для форматирования объекта ZonedDateTime в строку:

kotlinimport java.time.ZonedDateTime
import java.time.ZoneId

val zonedDateTime = ZonedDateTime.of(2025, 12, 31, 23, 59, 59, 0, ZoneId.of("Europe/Moscow"))
val formatted = zonedDateTime.format(DateTimeFormatter.ISO_ZONED_DATE_TIME)
println(formatted)

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

kotlinString "2025-12-31T23:59:59+03:00[Europe/Moscow]"

Пример

Используем ISO_ZONED_DATE_TIME для парсинга строки в объект ZonedDateTime:

kotlinval dateStr = "2025-07-15T14:30:45+02:00[Europe/Paris]"
val zonedDateTime = ZonedDateTime.parse(dateStr, DateTimeFormatter.ISO_ZONED_DATE_TIME)
println(zonedDateTime)

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

kotlinZonedDateTime 2025-07-15T14:30:45+02:00[Europe/Paris]

Пример

Получим отдельные компоненты даты и времени после парсинга:

kotlinval dateStr = "2025-03-20T10:15:30-05:00[America/New_York]"
val zonedDateTime = ZonedDateTime.parse(dateStr, DateTimeFormatter.ISO_ZONED_DATE_TIME)

val year = zonedDateTime.year
val month = zonedDateTime.monthValue
val day = zonedDateTime.dayOfMonth
val hour = zonedDateTime.hour
val zone = zonedDateTime.zone

println("Year: $year, Month: $month, Day: $day, Hour: $hour, Zone: $zone")

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

kotlinString "Year: 2025, Month: 3, Day: 20, Hour: 10, Zone: America/New_York"

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

  • константу ISO_LOCAL_DATE_TIME класса DateTimeFormatter,
    которая представляет форматтер для локальной даты и времени без часового пояса
  • константу ISO_OFFSET_DATE_TIME класса DateTimeFormatter,
    которая представляет форматтер для даты и времени со смещением от UTC
  • класс ZonedDateTime,
    который представляет дату и время с информацией о часовом поясе
  • функцию ofPattern класса DateTimeFormatter,
    которая создает кастомный форматтер для парсинга и форматирования дат