Функция getTransitions

Функция getTransitions класса ZoneRules возвращает неизменяемый список всех переходов между стандартным и летним временем для данного часового пояса. Каждый переход представлен объектом ZoneOffsetTransition, который содержит информацию о моменте перехода и изменении смещения.

Импорт

kotlinimport java.time.zone.ZoneRules

Синтаксис

kotlinfun getTransitions(): List<ZoneOffsetTransition>

Пример

Получим все переходы для часового пояса "Europe/Moscow":

kotlinimport 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)
}

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

kotlinArray<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":

kotlinval zoneId = ZoneId.of("America/New_York")
val rules = zoneId.rules
val transitions = rules.getTransitions()

println("Number of transitions: ${transitions.size}")

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

kotlinString "Number of transitions: 123"

Пример

Получим информацию о первом переходе для часового пояса "Europe/London":

kotlinval 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()}")
}

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

kotlinString "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,
    который представляет идентификатор часового пояса