Класс 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 |
Получает локальную дату в системе календаря тайского буддизма из пролептического года, месяца и дня месяца. |
ThaiBuddhistDate |
date |
Получает локальную дату в системе календаря тайского буддизма из эпохи, года эпохи, месяца и дня месяца. |
ThaiBuddhistDate |
date |
Получает локальную дату в этой хронологии из другого временного объекта. |
ThaiBuddhistDate |
dateEpochDay |
Получает локальную дату в системе календаря тайского буддизма из эпохи дня. |
ThaiBuddhistDate |
dateNow() |
Получает текущую локальную дату в этой хронологии из системных часов в часовом поясе по умолчанию. |
ThaiBuddhistDate |
dateNow |
Получает текущую локальную дату в этой хронологии из указанных часов. |
ThaiBuddhistDate |
dateNow |
Получает текущую локальную дату в этой хронологии из системных часов в указанном часовом поясе. |
ThaiBuddhistDate |
dateYearDay |
Получает локальную дату в системе календаря тайского буддизма из пролептического года и дня года. |
ThaiBuddhistDate |
dateYearDay |
Получает локальную дату в системе календаря тайского буддизма из эпохи, года эпохи и дня года. |
ThaiBuddhistEra |
eraOf |
Создаёт объект эпохи хронологии из числового значения. |
List<Era> |
eras() |
Получает список эпох для хронологии. |
String |
getCalendarType() |
Получает тип календаря базовой системы календаря — «buddhist». |
String |
getId() |
Получает идентификатор хронологии — «ThaiBuddhist». |
boolean |
isLeapYear |
Проверяет, является ли указанный год високосным. |
ChronoLocalDateTime<ThaiBuddhistDate> |
localDateTime |
Получает локальную дату и время в этой хронологии из другого временного объекта. |
int |
prolepticYear |
Вычисляет пролептический год, заданный эпохой и годом эпохи. |
ValueRange |
range |
Получает диапазон допустимых значений для указанного поля. |
ThaiBuddhistDate |
resolveDate |
Разрешает проанализированные ChronoField значения в дату во время парсинга. |
ChronoZonedDateTime<ThaiBuddhistDate> |
zonedDateTime |
Получает ChronoZonedDateTime в этой хронологии из Instant. |
ChronoZonedDateTime<ThaiBuddhistDate> |
zonedDateTime |
Получает 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()
Идентификатор уникально определяет Chronology. Он может быть использован для поиска Chronology с помощью Chronology.of(String).
- Указано в:
-
getIdв интерфейсеChronology - Возвращает:
- идентификатор хронологии — 'ThaiBuddhist'
- См. также:
getCalendarType
public String getCalendarType()
Тип календаря — это идентификатор, определённый спецификацией Unicode Locale Data Markup Language (LDML). Он может быть использован для поиска Chronology с помощью Chronology.of(String). Он также может быть использован в качестве части локали, доступной через Locale.getUnicodeLocaleType(String) с ключом 'ca'.
- Указано в:
-
getCalendarTypeв интерфейсеChronology - Возвращает:
- тип системы календарей — 'buddhist'
- См. также:
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
- См. также:
localDateTime
public ChronoLocalDateTime<ThaiBuddhistDate> localDateTime(TemporalAccessor temporal)
Chronology Это получает время и дату в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет произвольный набор информации о дате и времени, которую этот фабричный метод преобразует в экземпляр ChronoLocalDateTime.
Преобразование извлекает и объединяет ChronoLocalDate и LocalTime из временного объекта. Реализации могут использовать оптимизации, такие как доступ к полям, эквивалентным соответствующим объектам. Результат использует эту хронологию.
Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::localDateTime.
- Указано в:
-
localDateTimeв интерфейсеChronology - Параметры:
-
temporal- преобразуемый временной объект, не null - Возвращает:
- локальное время и дату в этой хронологии, не null
- См. также:
zonedDateTime
public ChronoZonedDateTime<ThaiBuddhistDate> zonedDateTime(TemporalAccessor temporal)
ChronologyChronoZonedDateTime в этой хронологии из другого временного объекта.
Это получает зонированную дату и время в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет собой произвольный набор информации о дате и времени, который эта фабрика преобразует в экземпляр ChronoZonedDateTime.
Преобразование сначала получит ZoneId из временного объекта, переходя к ZoneOffset при необходимости. Затем оно попытается получить Instant, переходя к ChronoLocalDateTime при необходимости. Результат будет либо комбинацией ZoneId или ZoneOffset с Instant или ChronoLocalDateTime. Реализации разрешается выполнять оптимизации, такие как доступ к тем полям, которые эквивалентны соответствующим объектам. Результат использует эту хронологию.
Этот метод соответствует подписи функционального интерфейса TemporalQuery, позволяя использовать его в качестве запроса через ссылку на метод, aChronology::zonedDateTime.
- Specified by:
-
zonedDateTimeв интерфейсеChronology - Parameters:
-
temporal- временной объект для преобразования, не null - Returns:
- зонированная дата и время в этой хронологии, не null
- See Also:
zonedDateTime
public ChronoZonedDateTime<ThaiBuddhistDate> zonedDateTime(Instant instant, ZoneId zone)
ChronologyChronoZonedDateTime в этой хронологии из 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
resolveDate
public ThaiBuddhistDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
AbstractChronologyChronoField, в дату во время парсинга. Большинство реализаций 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