Метод appendZoneId
Метод appendZoneId класса DateTimeFormatterBuilder добавляет идентификатор часового пояса в форматтер даты и времени.
Этот метод позволяет включать информацию о часовом поясе в отформатированную строку и корректно парсить строки с указанием зоны.
Импорт
import java.time.format.DateTimeFormatterBuilder
Синтаксис
fun appendZoneId(): DateTimeFormatterBuilder
Пример
Создадим форматтер с идентификатором часового пояса и отформатируем текущее время:
import java.time.ZonedDateTime
import java.time.ZoneId
import java.time.format.DateTimeFormatter
val formatter = DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd HH:mm:ss ")
.appendZoneId()
.toFormatter()
val zonedDateTime = ZonedDateTime.now(ZoneId.of("Europe/Moscow"))
val result = zonedDateTime.format(formatter)
println(result)
Результат выполнения кода:
String "2025-12-31 15:30:45 Europe/Moscow"
Пример
Распарсим строку с идентификатором часового пояса:
val dateStr = "2025-07-15 10:30:00 America/New_York"
val formatter = DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd HH:mm:ss ")
.appendZoneId()
.toFormatter()
val zonedDateTime = ZonedDateTime.parse(dateStr, formatter)
val zone = zonedDateTime.zone
println("Zone: $zone")
Результат выполнения кода:
String "Zone: America/New_York"
Пример
Используем несколько методов DateTimeFormatterBuilder для сложного форматирования:
val formatter = DateTimeFormatterBuilder()
.appendPattern("dd.MM.yyyy ")
.appendPattern("HH:mm ")
.appendZoneId()
.toFormatter()
val zonedDateTime = ZonedDateTime.now(ZoneId.of("Asia/Tokyo"))
val result = zonedDateTime.format(formatter)
println(result)
Результат выполнения кода:
String "31.12.2025 18:45 Asia/Tokyo"
Смотрите также
-
метод
appendPatternклассаDateTimeFormatterBuilder,
который добавляет шаблон форматирования -
метод
appendOffsetклассаDateTimeFormatterBuilder,
который добавляет смещение часового пояса -
класс
ZonedDateTime,
который представляет дату и время с часовым поясом -
класс
ZoneId,
который представляет идентификатор часового пояса