Функция toInstant
Функция toInstant
класса OffsetDateTime
преобразует объект с датой, временем и смещением в объект Instant
, который представляет собой момент времени на временной шкале UTC. Преобразование учитывает смещение часового пояса, чтобы получить корректное значение Instant.
Импорт
import java.time.OffsetDateTime
import java.time.Instant
Синтаксис
fun toInstant(): Instant
Пример
Преобразуем объект OffsetDateTime в Instant:
val offsetDateTime = OffsetDateTime.parse("2025-07-15T10:30:45+03:00")
val instant = offsetDateTime.toInstant()
println(instant)
Результат выполнения кода:
Instant "2025-07-15T07:30:45Z"
Пример
Сравним преобразование с разными смещениями часовых поясов:
val odt1 = OffsetDateTime.parse("2025-12-31T23:00:00+02:00")
val odt2 = OffsetDateTime.parse("2025-12-31T22:00:00+01:00")
val instant1 = odt1.toInstant()
val instant2 = odt2.toInstant()
println("Instant 1: $instant1")
println("Instant 2: $instant2")
println("Are equal: ${instant1 == instant2}")
Результат выполнения кода:
String "Instant 1: 2025-12-31T21:00:00Z"
String "Instant 2: 2025-12-31T21:00:00Z"
String "Are equal: true"
Пример
Получим компоненты Instant после преобразования:
val offsetDateTime = OffsetDateTime.parse("2025-03-20T15:45:30-05:00")
val instant = offsetDateTime.toInstant()
val seconds = instant.epochSecond
val nanos = instant.nano
println("Epoch seconds: $seconds")
println("Nanoseconds: $nanos")
Результат выполнения кода:
String "Epoch seconds: 1742489130"
String "Nanoseconds: 0"
Смотрите также
-
функцию
now
классаOffsetDateTime
,
которая возвращает текущие дату и время со смещением -
функцию
parse
классаOffsetDateTime
,
которая преобразует строку в OffsetDateTime -
функцию
toInstant
классаZonedDateTime
,
которая преобразует ZonedDateTime в Instant -
класс
Instant
,
который представляет момент времени на временной шкале UTC