Функция atOffset

Функция atOffset класса Instant преобразует момент времени в объект OffsetDateTime с указанным смещением от UTC. В параметр мы передаем объект ZoneOffset, который представляет смещение часового пояса.

Импорт

kotlinimport java.time.Instant
import java.time.OffsetDateTime
import java.time.ZoneOffset

Синтаксис

kotlinfun atOffset(offset: ZoneOffset): OffsetDateTime

Пример

Преобразуем текущий момент времени в OffsetDateTime со смещением +03:00:

kotlinval instant = Instant.now()
val offset = ZoneOffset.ofHours(3)
val offsetDateTime = instant.atOffset(offset)
println(offsetDateTime)

Результат выполнения кода:

kotlinString "2025-09-10T14:30:45.123+03:00"

Пример

Создадим момент времени из эпохальных секунд и преобразуем его со смещением -05:00:

kotlinval instant = Instant.ofEpochSecond(1735678901)
val offset = ZoneOffset.ofHoursMinutes(-5, -30)
val result = instant.atOffset(offset)
println(result)

Результат выполнения кода:

kotlinString "2025-01-01T12:01:41-05:30"

Пример

Используем стандартное смещение UTC:

kotlinval instant = Instant.parse("2025-12-31T23:59:59Z")
val result = instant.atOffset(ZoneOffset.UTC)
println(result)

Результат выполнения кода:

kotlinString "2025-12-31T23:59:59Z"

Смотрите также

  • функцию atZone класса Instant,
    которая преобразует Instant в ZonedDateTime
  • функцию now класса Instant,
    которая возвращает текущий момент времени
  • функцию ofEpochSecond класса Instant,
    которая создает Instant из эпохальных секунд
  • класс OffsetDateTime,
    который представляет дату и время со смещением