Spec-Zone.ru › OpenJDK 17

Класс ThaiBuddhistChronology

java.lang.Object
java.time.chrono.AbstractChronology
java.time.chrono.ThaiBuddhistChronology
Все реализованные интерфейсы:
Serializable, Comparable<Chronology>, Chronology
public final class ThaiBuddhistChronology extends AbstractChronology implements Serializable
Система календаря тайского буддизма.

Эта хронология определяет правила системы календаря тайского буддизма. Эта система календаря в основном используется в Таиланде. Даты выровнены так, что 2484-01-01 (Buddhist) — это 1941-01-01 (ISO).

Поля определены следующим образом:

  • эпоха — существуют две эпохи, текущая «буддистская» (ERA_BE) и предыдущая эпоха (ERA_BEFORE_BE).
  • год-эпохи — год-эпохи для текущей эпохи равномерно увеличивается с момента эпохи в году один. Для предыдущей эпохи год увеличивается с единицы, когда время идёт назад. Значение для текущей эпохи равно пролептическому году ISO плюс 543.
  • пролептический год — пролептический год такой же, как год-эпохи для текущей эпохи. Для предыдущей эпохи годы имеют нулевые, затем отрицательные значения. Значение равно пролептическому году ISO плюс 543.
  • месяц-года — месяц-год тайского буддизма точно соответствует ISO.
  • день-месяца — день-месяца тайского буддизма точно соответствует ISO.
  • день-года — день-года тайского буддизма точно соответствует ISO.
  • високосный год — паттерн високосного года тайского буддизма точно соответствует ISO, так что два календаря никогда не будут расходиться.
Требования к реализации:
Этот класс неизменяемый и потокобезопасный.
С:
1.8
См. также:
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final ThaiBuddhistChronology INSTANCE
Единственный экземпляр буддистской хронологии.

Краткое описание методов

Модификатор и тип Метод Описание
ThaiBuddhistDate date(int prolepticYear, int month, int dayOfMonth)
Получает локальную дату в системе календаря тайского буддизма из пролептического года, месяца и дня месяца.
ThaiBuddhistDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Получает локальную дату в системе календаря тайского буддизма из эпохи, года эпохи, месяца и дня месяца.
ThaiBuddhistDate date(TemporalAccessor temporal)
Получает локальную дату в этой хронологии из другого временного объекта.
ThaiBuddhistDate dateEpochDay(long epochDay)
Получает локальную дату в системе календаря тайского буддизма из эпохи дня.
ThaiBuddhistDate dateNow()
Получает текущую локальную дату в этой хронологии из системных часов в часовом поясе по умолчанию.
ThaiBuddhistDate dateNow(Clock clock)
Получает текущую локальную дату в этой хронологии из указанных часов.
ThaiBuddhistDate dateNow(ZoneId zone)
Получает текущую локальную дату в этой хронологии из системных часов в указанном часовом поясе.
ThaiBuddhistDate dateYearDay(int prolepticYear, int dayOfYear)
Получает локальную дату в системе календаря тайского буддизма из пролептического года и дня года.
ThaiBuddhistDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
Получает локальную дату в системе календаря тайского буддизма из эпохи, года эпохи и дня года.
ThaiBuddhistEra eraOf(int eraValue)
Создаёт объект эпохи хронологии из числового значения.
List<Era> eras()
Получает список эпох для хронологии.
String getCalendarType()
Получает тип календаря базовой системы календаря — «buddhist».
String getId()
Получает идентификатор хронологии — «ThaiBuddhist».
boolean isLeapYear(long prolepticYear)
Проверяет, является ли указанный год високосным.
ChronoLocalDateTime<ThaiBuddhistDate> localDateTime(TemporalAccessor temporal)
Получает локальную дату и время в этой хронологии из другого временного объекта.
int prolepticYear(Era era, int yearOfEra)
Вычисляет пролептический год, заданный эпохой и годом эпохи.
ValueRange range(ChronoField field)
Получает диапазон допустимых значений для указанного поля.
ThaiBuddhistDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
Разрешает проанализированные ChronoField значения в дату во время парсинга.
ChronoZonedDateTime<ThaiBuddhistDate> zonedDateTime(Instant instant, ZoneId zone)
Получает ChronoZonedDateTime в этой хронологии из Instant.
ChronoZonedDateTime<ThaiBuddhistDate> zonedDateTime(TemporalAccessor temporal)
Получает ChronoZonedDateTime в этой хронологии из другого временного объекта.

Методы, объявленные в классе java.time.chrono.AbstractChronology

compareTo, equals, hashCode, toString

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе java.time.chrono.Chronology

epochSecond, epochSecond, getDisplayName, period

Подробное описание полей

INSTANCE

public static final ThaiBuddhistChronology INSTANCE
Единственный экземпляр буддийской хронологии.

Подробное описание методов

getId

public String getId()
Возвращает идентификатор хронологии — 'ThaiBuddhist'.

Идентификатор уникально определяет Chronology. Он может быть использован для поиска Chronology с помощью Chronology.of(String).

Указано в:
getId в интерфейсе Chronology
Возвращает:
идентификатор хронологии — 'ThaiBuddhist'
См. также:
  • getCalendarType()

getCalendarType

public String getCalendarType()
Возвращает тип календаря базовой системы календарей — 'buddhist'.

Тип календаря — это идентификатор, определённый спецификацией Unicode Locale Data Markup Language (LDML). Он может быть использован для поиска Chronology с помощью Chronology.of(String). Он также может быть использован в качестве части локали, доступной через Locale.getUnicodeLocaleType(String) с ключом 'ca'.

Указано в:
getCalendarType в интерфейсе Chronology
Возвращает:
тип системы календарей — 'buddhist'
См. также:
  • getId()

date

public ThaiBuddhistDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Получает локальную дату в системе календаря тайского буддизма по эре, году эры, месяцу и дню месяца.
Указано в:
date в интерфейсе Chronology
Параметры:
era - эра тайского буддизма, не null
yearOfEra - год эры
month - месяц года
dayOfMonth - день месяца
Возвращает:
локальная дата тайского буддизма, не null
Бросает:
DateTimeException - если невозможно создать дату
ClassCastException - если era не является ThaiBuddhistEra

date

public ThaiBuddhistDate date(int prolepticYear, int month, int dayOfMonth)
Получает локальную дату в системе календаря тайского буддизма по пролептическому году, месяцу и дню месяца.
Указано в:
date в интерфейсе Chronology
Параметры:
prolepticYear - пролептический год
month - месяц года
dayOfMonth - день месяца
Возвращает:
локальная дата тайского буддизма, не null
Бросает:
DateTimeException - если невозможно создать дату

dateYearDay

public ThaiBuddhistDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
Получает локальную дату в системе календаря тайского буддизма по эре, году эры и дню года.
Указано в:
dateYearDay в интерфейсе Chronology
Параметры:
era - эра тайского буддизма, не null
yearOfEra - год эры
dayOfYear - день года
Возвращает:
локальная дата тайского буддизма, не null
Бросает:
DateTimeException - если невозможно создать дату
ClassCastException - если era не является ThaiBuddhistEra

dateYearDay

public ThaiBuddhistDate dateYearDay(int prolepticYear, int dayOfYear)
Получает локальную дату в системе календаря тайского буддизма по пролептическому году и дню года.
Указано в:
dateYearDay в интерфейсе Chronology
Параметры:
prolepticYear - пролептический год
dayOfYear - день года
Возвращает:
локальная дата тайского буддизма, не null
Бросает:
DateTimeException - если невозможно создать дату

dateEpochDay

public ThaiBuddhistDate dateEpochDay(long epochDay)
Получает локальную дату в системе календаря тайского буддизма по дню эпохи.
Указано в:
dateEpochDay в интерфейсе Chronology
Параметры:
epochDay - день эпохи
Возвращает:
локальная дата тайского буддизма, не null
Бросает:
DateTimeException - если невозможно создать дату

dateNow

public ThaiBuddhistDate dateNow()
Описание скопировано из интерфейса: Chronology
Получает текущую локальную дату в этой хронологии из системных часов в часовом поясе по умолчанию.

Эта функция обращается к system clock в часовом поясе по умолчанию для получения текущей даты.

Использование этого метода предотвращает возможность использования альтернативных часов для тестирования, так как часы заданы жёстко.

Указано в:
dateNow в интерфейсе Chronology
Возвращает:
текущая локальная дата с использованием системных часов и часового пояса по умолчанию, не null

dateNow

public ThaiBuddhistDate dateNow(ZoneId zone)
Описание скопировано из интерфейса: Chronology
Получает текущую локальную дату в этой хронологии из системных часов в указанном часовом поясе.

Эта функция обращается к system clock для получения текущей даты. Указание часового пояса предотвращает зависимость от часового пояса по умолчанию.

Использование этого метода предотвращает возможность использования альтернативных часов для тестирования, так как часы заданы жёстко.

Указано в:
dateNow в интерфейсе Chronology
Параметры:
zone - идентификатор часового пояса для использования, не null
Возвращает:
текущая локальная дата с использованием системных часов, не null

dateNow

public ThaiBuddhistDate dateNow(Clock clock)
Описание скопировано из интерфейса: Chronology
Получает текущую локальную дату в этой хронологии из указанных часов.

Эта функция обращается к указанным часам для получения текущей даты — сегодня. Использование этого метода позволяет использовать альтернативные часы для тестирования. Альтернативные часы могут быть введены с помощью dependency injection.

Указано в:
dateNow в интерфейсе Chronology
Параметры:
clock - используемые часы, не null
Возвращает:
текущая локальная дата, не null

date

public ThaiBuddhistDate date(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает локальную дату в этой хронологии из другого временного объекта.

Это получает дату в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет произвольный набор информации о дате и времени, которую этот фабричный метод преобразует в экземпляр ChronoLocalDate.

Преобразование обычно использует поле EPOCH_DAY, которое стандартизировано для всех систем календарей.

Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::date.

Указано в:
date в интерфейсе Chronology
Параметры:
temporal - преобразуемый временной объект, не null
Возвращает:
локальная дата в этой хронологии, не null
См. также:
  • ChronoLocalDate.from(TemporalAccessor)

localDateTime

public ChronoLocalDateTime<ThaiBuddhistDate> localDateTime(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает локальное время и дату в этой хронологии из другого временного объекта.

Это получает время и дату в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет произвольный набор информации о дате и времени, которую этот фабричный метод преобразует в экземпляр ChronoLocalDateTime.

Преобразование извлекает и объединяет ChronoLocalDate и LocalTime из временного объекта. Реализации могут использовать оптимизации, такие как доступ к полям, эквивалентным соответствующим объектам. Результат использует эту хронологию.

Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::localDateTime.

Указано в:
localDateTime в интерфейсе Chronology
Параметры:
temporal - преобразуемый временной объект, не null
Возвращает:
локальное время и дату в этой хронологии, не null
См. также:
  • ChronoLocalDateTime.from(TemporalAccessor)

zonedDateTime

public ChronoZonedDateTime<ThaiBuddhistDate> zonedDateTime(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает ChronoZonedDateTime в этой хронологии из другого временного объекта.

Это получает зонированную дату и время в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет собой произвольный набор информации о дате и времени, который эта фабрика преобразует в экземпляр ChronoZonedDateTime.

Преобразование сначала получит ZoneId из временного объекта, переходя к ZoneOffset при необходимости. Затем оно попытается получить Instant, переходя к ChronoLocalDateTime при необходимости. Результат будет либо комбинацией ZoneId или ZoneOffset с Instant или ChronoLocalDateTime. Реализации разрешается выполнять оптимизации, такие как доступ к тем полям, которые эквивалентны соответствующим объектам. Результат использует эту хронологию.

Этот метод соответствует подписи функционального интерфейса TemporalQuery, позволяя использовать его в качестве запроса через ссылку на метод, aChronology::zonedDateTime.

Specified by:
zonedDateTime в интерфейсе Chronology
Parameters:
temporal - временной объект для преобразования, не null
Returns:
зонированная дата и время в этой хронологии, не null
See Also:
  • ChronoZonedDateTime.from(TemporalAccessor)

zonedDateTime

public ChronoZonedDateTime<ThaiBuddhistDate> zonedDateTime(Instant instant, ZoneId zone)
Описание скопировано из интерфейса: Chronology
Получает ChronoZonedDateTime в этой хронологии из Instant.

Это получает зонированную дату и время с тем же мгновением, что и указанное.

Specified by:
zonedDateTime в интерфейсе Chronology
Parameters:
instant - мгновение для создания даты и времени, не null
zone - часовой пояс, не null
Returns:
зонированная дата и время, не null

isLeapYear

public boolean isLeapYear(long prolepticYear)
Проверяет, является ли указанный год високосным.

Високосные годы по буддистскому календарю соответствуют високосным годам ISO. Этот метод не проверяет переданный год и определяет результат только для годов в поддерживаемом диапазоне.

Specified by:
isLeapYear в интерфейсе Chronology
Parameters:
prolepticYear - пролептический год для проверки, не проверяется на диапазон
Returns:
true, если год високосный

prolepticYear

public int prolepticYear(Era era, int yearOfEra)
Описание скопировано из интерфейса: Chronology
Вычисляет пролептический год, заданный эрой и годом эры.

Это объединяет эру и год эры в одно поле пролептического года.

Если хронология активно использует эры, такие как JapaneseChronology, то год эры будет проверен относительно эры. Для других хронологий валидация является необязательной.

Specified by:
prolepticYear в интерфейсе Chronology
Parameters:
era - эра правильного типа для хронологии, не null
yearOfEra - год хронологии эры
Returns:
пролептический год

eraOf

public ThaiBuddhistEra eraOf(int eraValue)
Описание скопировано из интерфейса: Chronology
Создает объект эры хронологии из числового значения.

Эра, концептуально, — крупнейшая единица временной шкалы. Большинство систем календарей имеют одну эпоху, разделяющую временную шкалу на две эры. Однако некоторые имеют несколько эр, например, по одному на правление каждого лидера. Точное значение определяется хронологией в соответствии со следующими ограничениями.

Эра, используемая в 1970-01-01, должна иметь значение 1. Более поздние эры должны иметь последовательно большие значения. Более ранние эры должны иметь последовательно меньшие значения. Каждая хронология должна ссылаться на перечисление или аналогичный синглтон для предоставления значений эры.

Этот метод возвращает синглтон эры правильного типа для указанного значения эры.

Specified by:
eraOf в интерфейсе Chronology
Parameters:
eraValue - значение эры
Returns:
эра системы календаря, не null

eras

public List<Era> eras()
Описание скопировано из интерфейса: Chronology
Получает список эр для хронологии.

Большинство систем календарей имеют эру, в которой год имеет смысл. Если система календаря не поддерживает концепцию эр, должен быть возвращен пустой список.

Specified by:
eras в интерфейсе Chronology
Returns:
список эр для хронологии, может быть неизменяемым, не null

range

public ValueRange range(ChronoField field)
Описание скопировано из интерфейса: Chronology
Получает диапазон допустимых значений для указанного поля.

Все поля могут быть выражены как целое число long. Этот метод возвращает объект, описывающий допустимый диапазон для этого значения.

Обратите внимание, что результат описывает только минимальное и максимальное допустимые значения, и важно не делать слишком много выводов из них. Например, могут быть значения в диапазоне, которые недопустимы для поля.

Этот метод вернет результат, поддерживает ли хронология поле или нет.

Specified by:
range в интерфейсе Chronology
Parameters:
field - поле для получения диапазона, не null
Returns:
диапазон допустимых значений для поля, не null
END_OF_DOCUMENT_MARKER

resolveDate

public ThaiBuddhistDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
Описание, скопированное из класса: AbstractChronology
Разрешает значения, полученные в ходе парсинга ChronoField, в дату во время парсинга.

Большинство реализаций TemporalField разрешаются с помощью метода resolve на поле. В отличие от этого, класс ChronoField определяет поля, имеющие смысл только относительно хронологии. Таким образом, поля даты ChronoField разрешаются здесь в контексте конкретной хронологии.

Экземпляры ChronoField разрешаются этим методом, который может быть переопределён в подклассах.

  • EPOCH_DAY - Если присутствует, он преобразуется в дату, и все остальные поля даты проверяются на соответствие дате.
  • PROLEPTIC_MONTH - Если присутствует, то он разделяется на YEAR и MONTH_OF_YEAR. Если режим строгий или интеллектуальный, то поле валидируется.
  • YEAR_OF_ERA и ERA - Если оба присутствуют, они объединяются для создания YEAR. В мягком режиме диапазон YEAR_OF_ERA не валидируется, в интеллектуальном и строгом режимах - валидируется. Диапазон ERA валидируется во всех трёх режимах. Если присутствует только YEAR_OF_ERA, а режим интеллектуальный или мягкий, предполагается последняя имеющаяся эра. В строгом режиме эра не предполагается, и YEAR_OF_ERA остаётся без изменений. Если присутствует только ERA, то оно остаётся без изменений.
  • YEAR, MONTH_OF_YEAR и DAY_OF_MONTH - Если все три присутствуют, они объединяются для создания даты. Во всех трёх режимах валидируется YEAR. Если режим интеллектуальный или строгий, то месяц и день валидируются. Если режим мягкий, дата комбинируется таким образом, как при создании даты на первое число первого месяца в указанном году, затем добавляется разница в месяцах, затем разница в днях. Если режим интеллектуальный, а день месяца больше максимального для года-месяца, то день месяца корректируется до последнего дня месяца. Если режим строгий, то три поля должны образовывать корректную дату.
  • YEAR и DAY_OF_YEAR - Если оба присутствуют, они объединяются для создания даты. Во всех трёх режимах валидируется YEAR. Если режим мягкий, то дата комбинируется таким образом, как при создании даты на первое число указанного года, затем добавляется разница в днях. Если режим интеллектуальный или строгий, то два поля должны образовывать корректную дату.
  • YEAR, MONTH_OF_YEAR, ALIGNED_WEEK_OF_MONTH и ALIGNED_DAY_OF_WEEK_IN_MONTH - Если все четыре присутствуют, они объединяются для создания даты. Во всех трёх режимах валидируется YEAR. Если режим мягкий, то дата комбинируется так, как при создании даты на первое число первого месяца в заданном году, затем добавляется разница в месяцах, затем в неделям, затем в днях. Если режим интеллектуальный или строгий, то все четыре поля валидируются в пределах своих диапазонов. Затем дата комбинируется аналогично созданию даты на первое число заданного года и месяца, затем добавляется количество недель и дней, чтобы достичь их значений. Если режим строгий, дата дополнительно проверяется на то, что корректировка дня и недели не изменила месяц.
  • YEAR, MONTH_OF_YEAR, ALIGNED_WEEK_OF_MONTH и DAY_OF_WEEK - Если все четыре присутствуют, они объединяются для создания даты. Подход такой же, как описано выше для года, месяца и недель в ALIGNED_DAY_OF_WEEK_IN_MONTH. День недели корректируется как следующий или тот же соответствующий день недели после обработки года, месяца и недель.
  • YEAR, ALIGNED_WEEK_OF_YEAR и ALIGNED_DAY_OF_WEEK_IN_YEAR - Если все три присутствуют, они объединяются для создания даты. Во всех трёх режимах валидируется YEAR. Если режим мягкий, то дата комбинируется аналогично созданию даты на первое число указанного года, затем добавляется разница в неделях, затем в днях. Если режим интеллектуальный или строгий, то все три поля валидируются в пределах своих диапазонов. Затем дата комбинируется аналогично созданию даты на первое число заданного года, затем добавляется количество недель и дней, чтобы достичь их значений. Если режим строгий, дата дополнительно проверяется на то, что корректировка дня и недели не изменила год.
  • YEAR, ALIGNED_WEEK_OF_YEAR и DAY_OF_WEEK - Если все три присутствуют, они объединяются для создания даты. Подход такой же, как описано выше для года и недель в ALIGNED_DAY_OF_WEEK_IN_YEAR. День недели корректируется как следующий или тот же соответствующий день недели после обработки года и недель.

Реализация по умолчанию подходит для большинства календарных систем. Если ChronoField.YEAR_OF_ERA обнаружен без ChronoField.ERA, используется последняя эра в Chronology.eras(). Реализация предполагает семидневную неделю, что первое число месяца имеет значение 1, первое число года имеет значение 1, и что первое число месяца и года всегда существует.

Указано в:
resolveDate в интерфейсе Chronology
Переопределяет:
resolveDate в классе AbstractChronology
Параметры:
fieldValues - карта полей и значений, которая может быть обновлена, не null
resolverStyle - требуемый тип разрешения, не null
Возвращает:
разрешенная дата, null, если информации недостаточно для создания даты

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/chrono/ThaiBuddhistChronology.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API