Функция atZone
Функция atZone
класса Instant
преобразует момент времени в объект ZonedDateTime
с указанным часовым поясом.
В параметр мы передаем объект ZoneId
, представляющий часовой пояс.
Импорт
import java.time.Instant
import java.time.ZoneId
import java.time.ZonedDateTime
Синтаксис
fun atZone(zone: ZoneId): ZonedDateTime
Пример
Преобразуем текущий момент времени в объект ZonedDateTime с часовым поясом UTC:
val instant = Instant.now()
val zoneId = ZoneId.of("UTC")
val zonedDateTime = instant.atZone(zoneId)
println(zonedDateTime)
Результат выполнения кода:
String "2025-12-31T10:30:45.123Z[UTC]"
Пример
Преобразуем конкретный момент времени в объект ZonedDateTime с часовым поясом Европы/Москвы:
val instant = Instant.parse("2025-07-15T14:30:00Z")
val zoneId = ZoneId.of("Europe/Moscow")
val zonedDateTime = instant.atZone(zoneId)
println(zonedDateTime)
Результат выполнения кода:
String "2025-07-15T17:30:00+03:00[Europe/Moscow]"
Пример
Используем системный часовой пояс по умолчанию для преобразования:
val instant = Instant.now()
val systemZone = ZoneId.systemDefault()
val zonedDateTime = instant.atZone(systemZone)
println("System zone: $systemZone")
println("ZonedDateTime: $zonedDateTime")
Результат выполнения кода:
String "System zone: Europe/Moscow"
String "ZonedDateTime: 2025-12-31T13:30:45.123+03:00[Europe/Moscow]"