Функция getTransitions
Функция getTransitions класса ZoneRules возвращает неизменяемый список всех переходов между стандартным и летним временем для данного часового пояса.
Каждый переход представлен объектом ZoneOffsetTransition, который содержит информацию о моменте перехода и изменении смещения.
Импорт
import java.time.zone.ZoneRules
Синтаксис
fun getTransitions(): List<ZoneOffsetTransition>
Пример
Получим все переходы для часового пояса "Europe/Moscow":
import java.time.ZoneId
import java.time.zone.ZoneRules
val zoneId = ZoneId.of("Europe/Moscow")
val rules = zoneId.rules
val transitions = rules.getTransitions()
for (transition in transitions) {
println(transition)
}
Результат выполнения кода:
Array<ZoneOffsetTransition> [Transition[Gap at 1916-07-03T00:00+03:00 to +04:00], Transition[Overlap at 1916-07-03T00:00+04:00 to +03:00], ...]
Пример
Получим количество переходов для часового пояса "America/New_York":
val zoneId = ZoneId.of("America/New_York")
val rules = zoneId.rules
val transitions = rules.getTransitions()
println("Number of transitions: ${transitions.size}")
Результат выполнения кода:
String "Number of transitions: 123"
Пример
Получим информацию о первом переходе для часового пояса "Europe/London":
val zoneId = ZoneId.of("Europe/London")
val rules = zoneId.rules
val transitions = rules.getTransitions()
if (transitions.isNotEmpty()) {
val firstTransition = transitions[0]
println("Instant: ${firstTransition.getInstant()}")
println("Offset before: ${firstTransition.getOffsetBefore()}")
println("Offset after: ${firstTransition.getOffsetAfter()}")
println("Duration: ${firstTransition.getDuration()}")
}
Результат выполнения кода:
String "Instant: 1847-12-01T00:01:15Z"
String "Offset before: -00:01:15"
String "Offset after: Z"
String "Duration: PT1M15S"
Смотрите также
-
функцию
getTransitionRulesклассаZoneRules,
которая возвращает правила переходов между временами года -
функцию
nextTransitionклассаZoneRules,
которая возвращает следующий переход после указанного момента -
функцию
isDaylightSavingsклассаZoneRules,
которая проверяет действует ли летнее время в указанный момент -
класс
ZoneId,
который представляет идентификатор часового пояса