Функция atOffset

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

Импорт

kotlinimport java.time.LocalDateTime
import java.time.OffsetDateTime
import java.time.ZoneOffset

Синтаксис

kotlinfun atOffset(offset: ZoneOffset): OffsetDateTime

Пример

Создадим объект LocalDateTime и преобразуем его в OffsetDateTime со смещением +03:00:

kotlinval localDateTime = LocalDateTime.of(2025, 7, 15, 14, 30, 45)
val offset = ZoneOffset.ofHours(3)
val offsetDateTime = localDateTime.atOffset(offset)

println(offsetDateTime)

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

kotlinString "2025-07-15T14:30:45+03:00"

Пример

Используем смещение UTC+0 для создания OffsetDateTime:

kotlinval localDateTime = LocalDateTime.parse("2025-12-31T23:59:59")
val offsetDateTime = localDateTime.atOffset(ZoneOffset.UTC)

println(offsetDateTime)

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

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

Пример

Создадим смещение с точностью до минут и применим его к текущей дате-времени:

kotlinval currentDateTime = LocalDateTime.now()
val offset = ZoneOffset.ofHoursMinutes(5, 30)
val result = currentDateTime.atOffset(offset)

println("Local: $currentDateTime")
println("Offset: $result")

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

kotlinString "Local: 2025-01-15T10:20:30"
String "Offset: 2025-01-15T10:20:30+05:30"

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

  • функцию atZone класса LocalDateTime,
    которая создает ZonedDateTime из LocalDateTime
  • функцию toLocalDate класса LocalDateTime,
    которая извлекает дату из LocalDateTime
  • функцию toLocalDateTime класса OffsetDateTime,
    которая извлекает LocalDateTime из OffsetDateTime
  • класс ZoneOffset,
    который представляет смещение часового пояса