Функция getStandardOffset
Функция getStandardOffset класса ZoneRules возвращает стандартное смещение часового пояса для указанного момента времени.
В параметр мы передаем объект Instant, представляющий момент времени, для которого нужно определить стандартное смещение.
Импорт
import java.time.Instant
import java.time.ZoneId
import java.time.zone.ZoneRules
Синтаксис
fun getStandardOffset(instant: Instant): ZoneOffset
Пример
Получим стандартное смещение для часового пояса "Europe/Moscow" на конкретный момент времени:
val zoneId = ZoneId.of("Europe/Moscow")
val rules = zoneId.rules
val instant = Instant.parse("2025-06-15T12:00:00Z")
val standardOffset = rules.getStandardOffset(instant)
println("Standard offset: $standardOffset")
Результат выполнения кода:
String "Standard offset: +03:00"
Пример
Сравним стандартное смещение для разных моментов времени в часовом поясе "America/New_York":
val zoneId = ZoneId.of("America/New_York")
val rules = zoneId.rules
val winterInstant = Instant.parse("2025-01-15T12:00:00Z")
val summerInstant = Instant.parse("2025-06-15T12:00:00Z")
val winterOffset = rules.getStandardOffset(winterInstant)
val summerOffset = rules.getStandardOffset(summerInstant)
println("Winter standard offset: $winterOffset")
println("Summer standard offset: $summerOffset")
Результат выполнения кода:
String "Winter standard offset: -05:00"
String "Summer standard offset: -05:00"
Пример
Получим стандартное смещение для UTC часового пояса:
val zoneId = ZoneId.of("UTC")
val rules = zoneId.rules
val instant = Instant.now()
val standardOffset = rules.getStandardOffset(instant)
println("UTC standard offset: $standardOffset")
Результат выполнения кода:
String "UTC standard offset: Z"
Смотрите также
-
функцию
getOffsetклассаZoneRules,
которая возвращает полное смещение с учетом летнего времени -
функцию
isDaylightSavingsклассаZoneRules,
которая проверяет действует ли летнее время -
функцию
getRulesклассаZoneId,
которая возвращает правила часового пояса -
класс
ZoneOffset,
который представляет смещение часового пояса