АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
1189 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Класс 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,
    который возвращает правила для временной зоны