Функция atZone
Функция atZone класса LocalDateTime преобразует объект LocalDateTime в объект ZonedDateTime, добавляя информацию о часовом поясе.
В параметр мы передаем объект ZoneId, представляющий часовой пояс.
Импорт
import java.time.LocalDateTime
import java.time.ZoneId
import java.time.ZonedDateTime
Синтаксис
fun atZone(zone: ZoneId): ZonedDateTime
Пример
Преобразуем LocalDateTime в ZonedDateTime для часового пояса "Europe/Moscow":
val localDateTime = LocalDateTime.of(2025, 12, 31, 15, 30, 45)
val zoneId = ZoneId.of("Europe/Moscow")
val zonedDateTime = localDateTime.atZone(zoneId)
println(zonedDateTime)
Результат выполнения кода:
String "2025-12-31T15:30:45+03:00[Europe/Moscow]"
Пример
Используем системный часовой пояс по умолчанию:
val localDateTime = LocalDateTime.of(2025, 7, 15, 10, 0, 0)
val systemZone = ZoneId.systemDefault()
val zonedDateTime = localDateTime.atZone(systemZone)
println("System zone: " + systemZone)
println("Zoned datetime: " + zonedDateTime)
Результат выполнения кода:
String "System zone: Europe/Moscow"
String "Zoned datetime: 2025-07-15T10:00+03:00[Europe/Moscow]"
Пример
Получим отдельные компоненты даты и времени после преобразования:
val localDateTime = LocalDateTime.of(2025, 3, 20, 18, 45, 30)
val zonedDateTime = localDateTime.atZone(ZoneId.of("America/New_York"))
val year = zonedDateTime.year
val month = zonedDateTime.monthValue
val day = zonedDateTime.dayOfMonth
val hour = zonedDateTime.hour
val minute = zonedDateTime.minute
val zone = zonedDateTime.zone
println("Year: $year, Month: $month, Day: $day")
println("Time: $hour:$minute")
println("Zone: $zone")
Результат выполнения кода:
String "Year: 2025, Month: 3, Day: 20"
String "Time: 18:45"
String "Zone: America/New_York"
Смотрите также
-
функцию
atOffsetклассаLocalDateTime,
которая преобразует LocalDateTime в OffsetDateTime -
функцию
toLocalDateTimeклассаZonedDateTime,
которая преобразует ZonedDateTime обратно в LocalDateTime -
класс
ZoneId,
который представляет идентификатор часового пояса -
класс
ZonedDateTime,
который представляет дату и время с информацией о часовом поясе