Класс ZoneRulesProvider
Класс ZoneRulesProvider
является абстрактным базовым классом, который предоставляет правила временных зон для системы java.time.
Он загружает правила для идентификаторов зон и управляет доступными временными зонами.
В первый параметр метода getRules
мы передаем идентификатор зоны, во второй параметр метода getVersions
передаем идентификатор зоны для получения доступных версий правил.
Импорт
import java.time.zone.ZoneRulesProvider
Синтаксис
abstract fun getRules(zoneId: String, forCaching: Boolean): ZoneRules
abstract fun getAvailableZoneIds(): Set<String>
abstract fun getVersions(zoneId: String): NavigableSet<String>
fun refresh(): Boolean
Пример
Получим правила для временной зоны "Europe/London"
:
val rules = ZoneRulesProvider.getRules("Europe/London", false)
val offset = rules.getOffset(Instant.now())
println("Current offset: $offset")
Результат выполнения кода:
String "Current offset: Z"
Пример
Получим список всех доступных идентификаторов временных зон:
val zoneIds = ZoneRulesProvider.getAvailableZoneIds()
println("Total zones: ${zoneIds.size}")
println("First 5 zones: ${zoneIds.take(5)}")
Результат выполнения кода:
String "Total zones: 600"
String "First 5 zones: [Asia/Aden, America/Cuiaba, Etc/GMT+9, Etc/GMT+8, Africa/Nairobi]"
Пример
Проверим, поддерживает ли зона "America/New_York"
переход на летнее время:
val rules = ZoneRulesProvider.getRules("America/New_York", false)
val isDst = rules.isDaylightSavings(Instant.now())
println("Is daylight saving: $isDst")
Результат выполнения кода:
String "Is daylight saving: true"
Пример
Обновим кэш правил временных зон:
val refreshed = ZoneRulesProvider.refresh()
println("Rules refreshed: $refreshed")
Результат выполнения кода:
String "Rules refreshed: false"
Смотрите также
-
класс
ZoneId
,
который представляет идентификатор временной зоны -
класс
ZoneRules
,
который содержит правила временной зоны -
класс
ZonedDateTime
,
который представляет дату и время с временной зоной -
метод
getRules
классаZoneId
,
который возвращает правила для временной зоны