Функция getTransitionRules

Функция getTransitionRules класса ZoneRules возвращает неизменяемый список правил переходов между стандартным и летним временем для часового пояса. Функция не принимает параметров и возвращает список объектов ZoneOffsetTransitionRule.

Импорт

kotlinimport java.time.zone.ZoneRules

Синтаксис

kotlinfun getTransitionRules(): List<ZoneOffsetTransitionRule>

Пример

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

kotlinval zone = ZoneId.of("Europe/London")
val rules = zone.rules
val transitionRules = rules.getTransitionRules()

for (rule in transitionRules) {
  println(rule)
}

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

kotlinArray<ZoneOffsetTransitionRule> [TransitionRule[GMT+00:00/GMT+01:00, MARCH, last SUNDAY, 01:00, STANDARD], TransitionRule[GMT+01:00/GMT+00:00, OCTOBER, last SUNDAY, 01:00, STANDARD]]

Пример

Проверим наличие правил переходов для часового пояса без перехода на летнее время:

kotlinval zone = ZoneId.of("UTC")
val rules = zone.rules
val transitionRules = rules.getTransitionRules()

println("Number of transition rules: " + transitionRules.size)
println("Is empty: " + transitionRules.isEmpty())

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

kotlinString "Number of transition rules: 0"
String "Is empty: true"

Пример

Получим детальную информацию о каждом правиле перехода:

kotlinval zone = ZoneId.of("America/New_York")
val rules = zone.rules
val transitionRules = rules.getTransitionRules()

for (rule in transitionRules) {
  println("Month: " + rule.month)
  println("Day of week: " + rule.dayOfWeek)
  println("Time: " + rule.localTime)
  println("Offset before: " + rule.standardOffset)
  println("Offset after: " + rule.offsetAfter)
  println("---")
}

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

kotlinString "Month: MARCH"
String "Day of week: SUNDAY"
String "Time: 02:00"
String "Offset before: -05:00"
String "Offset after: -04:00"
String "---"
String "Month: NOVEMBER"
String "Day of week: SUNDAY"
String "Time: 02:00"
String "Offset before: -04:00"
String "Offset after: -05:00"
String "---"

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

  • функцию getTransitions класса ZoneRules,
    которая возвращает исторические переходы между временами
  • функцию isDaylightSavings класса ZoneRules,
    которая проверяет действует ли летнее время для указанной даты
  • функцию getOffset класса ZoneRules,
    которая возвращает смещение для указанной даты и времени
  • класс ZoneId,
    который представляет идентификатор часового пояса