Класс java.time.ZoneId в Java
ZoneId используется для идентификации правил, которые использовались для преобразования между LocalDateTime и Instant времени. Фактические правила, описывающие, когда и как изменяется смещение, определяются ZoneRules. Этот класс является просто идентификатором, используемым для получения основных правил. Данный подход был выбран потому, что правительство определяет правила и часто их меняет, тогда как ID является стабильным.
Существует два различных типа идентификаторов:
- Фиксированные смещения — это полностью разрешенное смещение от UTC/Greenwich, которое использует одно и то же смещение для всех локальных дат и времени.
- Географические регионы — это окрестности, в которых применяется выбранный набор правил для определения смещения от UTC/Greenwich.
Declaration ofjava.time.ZoneId class
public abstract class ZoneId extends Object implements Serializable
Карта зон переопределяет использование коротких имен часовых поясов. Использование коротких идентификаторов зон устарело в java.util.TimeZone. Эта карта позволяет по-прежнему использовать идентификаторы с помощью фабричного метода of(String, Map). Эта карта содержит сопоставление идентификаторов, соответствующих TZDB 2005r и более поздним версиям, где «EST», «MST» и «HST» сопоставляются с идентификаторами, которые не включают летнее время.
Это отображается следующим образом:
стандартное восточное время | 05:00 |
HST | 10:00 вечера |
МСТ | 07:00 |
ДЕЙСТВОВАТЬ | Австралия/Дарвин |
АЕТ | Австралия/Сидней |
АГТ | Америка/Аргентина/Буэнос_Айрес |
ИСКУССТВО | Африка/Каир |
АСТ | Америка/Анкоридж |
ДЕРЖАТЬ ПАРИ | Америка/Word_Title |
BST | Азия/Дакка |
КОШКА | Африка/Хараре |
УНТ | Америка/Сент-Джонс |
КНТ | Америка/Чикаго |
СТТ | Азия/Шанхай |
ЕСТЬ | Африка/Аддис-Абеба |
ЕСТ | Европа/Париж |
ИЭПП | Америка/Индиана/Индианаполис |
ИСТ | Азия/Калькутта |
JST | Азия/Токио |
Массачусетский технологический институт | Тихий океан/Апиа |
СЕТЬ | Азия/Ереван |
НСТ | Тихоокеанский регион/Окленд |
PLT | Азия/Карачи |
ПНТ | Америка/Феникс |
ПРТ | Америка/Пуэрто_Рико |
Тихоокеанское стандартное время | Америка/Лос-Анджелес |
SST | Тихий океан/Гуадалканал |
ВСТ | Азия/Хо_Ши_Мин |
Примечание: карту нельзя изменить.
Методы класса ZoneId:
Методы | Описание |
---|---|
равно (Объект объекта) | Этот метод проверяет, равен ли этот идентификатор часового пояса другому идентификатору часового пояса. |
из (временной доступ временного доступа) | Этот метод получает экземпляр ZoneId из временного объекта. |
получить доступную зону () | Этот метод получает набор доступных идентификаторов зон. |
getDisplayName (стиль TextStyle, языковой стандарт) | Этот метод получает текстовое представление зоны, например «британское время» или «+02:00». |
получить идентификатор () | Этот метод получает уникальный идентификатор часового пояса. |
получитьПравила() | Этот метод получает правила часового пояса для этого идентификатора, позволяющие выполнять вычисления. |
хэш-код() | Хэш-код для этого идентификатора часового пояса. |
нормализованный() | Этот метод нормализует идентификатор часового пояса, возвращая ZoneOffset, где это возможно. |
из (String zoneId) | Этот метод получает экземпляр ZoneId из идентификатора, гарантируя, что идентификатор действителен и доступен для использования. |
of(String zoneId, Map<String,String> aliasMap) | Этот метод получает экземпляр ZoneId, используя его идентификатор, используя карту псевдонимов в дополнение к стандартным идентификаторам зоны. |
ofOffset (префикс строки, смещение ZoneOffset) | Этот метод получает экземпляр ZoneId, обертывающий смещение. |
системные установки по умолчанию() | Этот метод получает системный часовой пояс по умолчанию. |
нанизывать() | Этот метод выводит эту зону в виде строки, используя идентификатор. |
Ниже приведен пример реализации некоторых методов: