Функция toZonedDateTime
Функция toZonedDateTime класса OffsetDateTime преобразует объект OffsetDateTime в объект ZonedDateTime.
В параметр мы передаем зону ZoneId, к которой нужно привязать дату и время.
Импорт
import java.time.OffsetDateTime
import java.time.ZoneId
Синтаксис
fun toZonedDateTime(zone: ZoneId): ZonedDateTime
Пример
Преобразуем объект OffsetDateTime в ZonedDateTime с зоной "Europe/London":
val offsetDateTime = OffsetDateTime.parse("2025-07-15T10:30:45+03:00")
val londonZone = ZoneId.of("Europe/London")
val zonedDateTime = offsetDateTime.toZonedDateTime(londonZone)
println(zonedDateTime)
Результат выполнения кода:
String "2025-07-15T08:30:45+01:00[Europe/London]"
Пример
Используем системную зону по умолчанию для преобразования:
val offsetDateTime = OffsetDateTime.parse("2025-12-31T23:59:59-05:00")
val systemZone = ZoneId.systemDefault()
val zonedDateTime = offsetDateTime.toZonedDateTime(systemZone)
println(zonedDateTime)
Результат выполнения кода:
String "2025-12-31T23:59:59-05:00[America/New_York]"
Пример
Получим отдельные компоненты даты и времени после преобразования:
val offsetDateTime = OffsetDateTime.parse("2025-03-20T12:15:30+02:00")
val tokyoZone = ZoneId.of("Asia/Tokyo")
val zonedDateTime = offsetDateTime.toZonedDateTime(tokyoZone)
val year = zonedDateTime.year
val hour = zonedDateTime.hour
val zone = zonedDateTime.zone
println("Year: $year, Hour: $hour, Zone: $zone")
Результат выполнения кода:
String "Year: 2025, Hour: 19, Zone: Asia/Tokyo"
Смотрите также
-
функцию
nowклассаOffsetDateTime,
которая возвращает текущие дату и время со смещением -
функцию
ofклассаOffsetDateTime,
которая создает дату и время со смещением из компонентов -
функцию
parseклассаOffsetDateTime,
которая преобразует строку в дату и время со смещением -
класс
ZonedDateTime,
который представляет дату и время с информацией о временной зоне