Статический метод offset
Статический метод offset класса TemporalQueries возвращает запрос, который извлекает смещение временной зоны (ZoneOffset) из объектов, реализующих интерфейс TemporalAccessor. Этот метод полезен для получения информации о смещении от таких объектов как ZonedDateTime, OffsetDateTime и OffsetTime.
Импорт
import java.time.temporal.TemporalQueries
Синтаксис
static fun offset(): TemporalQuery<ZoneOffset>
Пример
Получим смещение из объекта ZonedDateTime:
import java.time.ZonedDateTime
import java.time.ZoneId
import java.time.temporal.TemporalQueries
import java.time.ZoneOffset
val zonedDateTime = ZonedDateTime.of(2025, 7, 15, 10, 30, 0, 0, ZoneId.of("Europe/Moscow"))
val offsetQuery = TemporalQueries.offset()
val offset = zonedDateTime.query(offsetQuery)
println(offset)
Результат выполнения кода:
ZoneOffset "+03:00"
Пример
Получим смещение из объекта OffsetDateTime:
import java.time.OffsetDateTime
import java.time.ZoneOffset
import java.time.temporal.TemporalQueries
val offsetDateTime = OffsetDateTime.of(2025, 12, 31, 23, 59, 0, 0, ZoneOffset.ofHours(5))
val offset = offsetDateTime.query(TemporalQueries.offset())
println("Offset: " + offset)
Результат выполнения кода:
String "Offset: +05:00"
Пример
Проверим наличие смещения у различных временных объектов:
import java.time.LocalDateTime
import java.time.OffsetTime
import java.time.ZoneOffset
import java.time.temporal.TemporalQueries
val localDateTime = LocalDateTime.now()
val offsetTime = OffsetTime.of(10, 30, 0, 0, ZoneOffset.of("+02:00"))
val query = TemporalQueries.offset()
val offset1 = localDateTime.query(query)
val offset2 = offsetTime.query(query)
println("LocalDateTime offset: " + offset1)
println("OffsetTime offset: " + offset2)
Результат выполнения кода:
String "LocalDateTime offset: null"
String "OffsetTime offset: +02:00"
Смотрите также
-
статический метод
zoneIdклассаTemporalQueries,
который извлекает идентификатор зоны из временного объекта -
класс
ZoneOffset,
который представляет смещение временной зоны -
класс
OffsetDateTime,
который представляет дату и время со смещением -
метод
getOffsetклассаZonedDateTime,
который возвращает смещение зоны