Метод getZone

Метод getZone класса DateTimeFormatter возвращает объект ZoneId, представляющий часовой пояс, ассоциированный с данным форматтером. Если часовой пояс не был установлен явно, метод вернет null.

Импорт

kotlinimport java.time.format.DateTimeFormatter
import java.time.ZoneId

Синтаксис

kotlinfun getZone(): ZoneId?

Пример

Создадим форматтер с часовым поясом и получим его:

kotlinval formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")
  .withZone(ZoneId.of("Europe/London"))

val zone = formatter.getZone()
println(zone)

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

kotlinString "Europe/London"

Пример

Проверим возвращаемое значение для форматтера без установленного часового пояса:

kotlinval formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")

val zone = formatter.getZone()
println(zone)

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

kotlinnull

Пример

Используем полученный часовой пояс для создания отформатированной даты:

kotlinimport java.time.ZonedDateTime

val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm z")
  .withZone(ZoneId.of("America/New_York"))

val zone = formatter.getZone()
val now = ZonedDateTime.now(zone)
val formatted = now.format(formatter)

println(formatted)

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

kotlinString "2025-09-10 10:30 EDT"

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

  • метод withZone класса DateTimeFormatter,
    который устанавливает часовой пояс для форматтера
  • класс ZoneId,
    который представляет идентификатор часового пояса
  • метод getZone класса ZonedDateTime,
    который возвращает часовой пояс даты-времени
  • метод getZone класса Clock,
    который возвращает часовой пояс часов