Функция atZone

Функция atZone класса Instant преобразует момент времени в объект ZonedDateTime с указанным часовым поясом. В параметр мы передаем объект ZoneId, представляющий часовой пояс.

Импорт

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

Синтаксис

kotlinfun atZone(zone: ZoneId): ZonedDateTime

Пример

Преобразуем текущий момент времени в объект ZonedDateTime с часовым поясом UTC:

kotlinval instant = Instant.now()
val zoneId = ZoneId.of("UTC")
val zonedDateTime = instant.atZone(zoneId)
println(zonedDateTime)

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

kotlinString "2025-12-31T10:30:45.123Z[UTC]"

Пример

Преобразуем конкретный момент времени в объект ZonedDateTime с часовым поясом Европы/Москвы:

kotlinval instant = Instant.parse("2025-07-15T14:30:00Z")
val zoneId = ZoneId.of("Europe/Moscow")
val zonedDateTime = instant.atZone(zoneId)
println(zonedDateTime)

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

kotlinString "2025-07-15T17:30:00+03:00[Europe/Moscow]"

Пример

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

kotlinval instant = Instant.now()
val systemZone = ZoneId.systemDefault()
val zonedDateTime = instant.atZone(systemZone)
println("System zone: $systemZone")
println("ZonedDateTime: $zonedDateTime")

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

kotlinString "System zone: Europe/Moscow"
String "ZonedDateTime: 2025-12-31T13:30:45.123+03:00[Europe/Moscow]"

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

  • функцию now класса Instant,
    которая возвращает текущий момент времени
  • функцию parse класса Instant,
    которая преобразует строку в объект Instant
  • функцию toInstant класса ZonedDateTime,
    которая преобразует ZonedDateTime в Instant
  • класс ZoneId,
    который представляет идентификатор часового пояса