Функция isDaylightSavings

Функция isDaylightSavings класса ZoneRules проверяет, применяется ли летнее время к указанному моменту времени. В параметр передается объект Instant, представляющий момент времени, для которого нужно проверить наличие перехода на летнее время.

Импорт

kotlinimport java.time.Instant
import java.time.ZoneId
import java.time.zone.ZoneRules

Синтаксис

kotlinfun isDaylightSavings(instant: Instant): Boolean

Пример

Проверим, действует ли летнее время в Нью-Йорке 1 июля 2025 года:

kotlinval zone = ZoneId.of("America/New_York")
val rules = zone.rules
val instant = Instant.parse("2025-07-01T12:00:00Z")
val isDST = rules.isDaylightSavings(instant)
println("Is daylight savings: $isDST")

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

kotlinString "Is daylight savings: true"

Пример

Проверим, действует ли летнее время в Лондоне 1 января 2025 года:

kotlinval zone = ZoneId.of("Europe/London")
val rules = zone.rules
val instant = Instant.parse("2025-01-01T12:00:00Z")
val isDST = rules.isDaylightSavings(instant)
println("Is daylight savings: $isDST")

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

kotlinString "Is daylight savings: false"

Пример

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

kotlinval instant = Instant.now()
val zones = listOf("America/New_York", "Europe/London", "Asia/Tokyo")

for (zoneId in zones) {
  val zone = ZoneId.of(zoneId)
  val rules = zone.rules
  val isDST = rules.isDaylightSavings(instant)
  println("$zoneId: $isDST")
}

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

kotlinString "America/New_York: true"
String "Europe/London: true"
String "Asia/Tokyo: false"

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

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