Функция atOffset
Функция atOffset
класса Instant
преобразует момент времени в объект OffsetDateTime
с указанным смещением от UTC.
В параметр мы передаем объект ZoneOffset
, который представляет смещение часового пояса.
Импорт
import java.time.Instant
import java.time.OffsetDateTime
import java.time.ZoneOffset
Синтаксис
fun atOffset(offset: ZoneOffset): OffsetDateTime
Пример
Преобразуем текущий момент времени в OffsetDateTime
со смещением +03:00:
val instant = Instant.now()
val offset = ZoneOffset.ofHours(3)
val offsetDateTime = instant.atOffset(offset)
println(offsetDateTime)
Результат выполнения кода:
String "2025-09-10T14:30:45.123+03:00"
Пример
Создадим момент времени из эпохальных секунд и преобразуем его со смещением -05:00:
val instant = Instant.ofEpochSecond(1735678901)
val offset = ZoneOffset.ofHoursMinutes(-5, -30)
val result = instant.atOffset(offset)
println(result)
Результат выполнения кода:
String "2025-01-01T12:01:41-05:30"
Пример
Используем стандартное смещение UTC:
val instant = Instant.parse("2025-12-31T23:59:59Z")
val result = instant.atOffset(ZoneOffset.UTC)
println(result)
Результат выполнения кода:
String "2025-12-31T23:59:59Z"
Смотрите также
-
функцию
atZone
классаInstant
,
которая преобразует Instant в ZonedDateTime -
функцию
now
классаInstant
,
которая возвращает текущий момент времени -
функцию
ofEpochSecond
классаInstant
,
которая создает Instant из эпохальных секунд -
класс
OffsetDateTime
,
который представляет дату и время со смещением