Функция isDaylightSavings
Функция isDaylightSavings класса ZoneRules проверяет, применяется ли летнее время к указанному моменту времени.
В параметр передается объект Instant, представляющий момент времени, для которого нужно проверить наличие перехода на летнее время.
Импорт
import java.time.Instant
import java.time.ZoneId
import java.time.zone.ZoneRules
Синтаксис
fun isDaylightSavings(instant: Instant): Boolean
Пример
Проверим, действует ли летнее время в Нью-Йорке 1 июля 2025 года:
val 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")
Результат выполнения кода:
String "Is daylight savings: true"
Пример
Проверим, действует ли летнее время в Лондоне 1 января 2025 года:
val 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")
Результат выполнения кода:
String "Is daylight savings: false"
Пример
Сравним наличие летнего времени в разных часовых поясах в один момент времени:
val 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")
}
Результат выполнения кода:
String "America/New_York: true"
String "Europe/London: true"
String "Asia/Tokyo: false"
Смотрите также
-
функцию
getDaylightSavingsклассаZoneRules,
которая возвращает продолжительность летнего времени -
функцию
getOffsetклассаZoneRules,
которая возвращает смещение для указанного момента времени -
класс
ZoneId,
который представляет идентификатор часового пояса -
класс
Instant,
который представляет момент времени на временной шкале