Spec-Zone.ru › OpenJDK 25

Класс 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 — существуют две эры: текущая «буддийская» (ERA_BE) и предыдущая (ERA_BEFORE_BE).
  • year-of-era — значение year-of-era для текущей эры равномерно увеличивается от начала отсчёта, начиная с единицы. Для предыдущей эры значение увеличивается от единицы по мере движения времени назад. Значение для текущей эры равно ISO proleptic-year плюс 543.
  • proleptic-year — proleptic-year совпадает с year-of-era для текущей эры. Для предыдущей эры годы принимают нулевое, а затем отрицательные значения. Значение равно ISO proleptic-year плюс 543.
  • month-of-year — месяц года в ThaiBuddhist полностью совпадает с ISO.
  • day-of-month — день месяца в ThaiBuddhist полностью совпадает с ISO.
  • day-of-year — день года в ThaiBuddhist полностью совпадает с ISO.
  • leap-year — схема високосных лет в ThaiBuddhist полностью совпадает с ISO, поэтому эти два календаря никогда не расходятся.
Требования к реализации:
Этот класс является неизменяемым и потокобезопасным.
С версии:
1.8
См. также:
  • Сериализованная форма

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

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

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

Модификатор и тип Метод Описание
ThaiBuddhistDate date(int prolepticYear, int month, int dayOfMonth)
Возвращает локальную дату в буддийской календарной системе Таиланда на основе полей proleptic-year, month-of-year и day-of-month.
ThaiBuddhistDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Возвращает локальную дату в буддийской календарной системе Таиланда на основе полей era, year-of-era, month-of-year и day-of-month.
ThaiBuddhistDate date(TemporalAccessor temporal)
Возвращает локальную дату в этой хронологии на основе другого объекта, представляющего дату или время.
ThaiBuddhistDate dateEpochDay(long epochDay)
Возвращает локальную дату в буддийской календарной системе Таиланда на основе epoch-day.
ThaiBuddhistDate dateNow()
Возвращает текущую локальную дату в этой хронологии по системным часам в часовом поясе по умолчанию.
ThaiBuddhistDate dateNow(Clock clock)
Возвращает текущую локальную дату в этой хронологии по указанным часам.
ThaiBuddhistDate dateNow(ZoneId zone)
Возвращает текущую локальную дату в этой хронологии по системным часам в указанном часовом поясе.
ThaiBuddhistDate dateYearDay(int prolepticYear, int dayOfYear)
Возвращает локальную дату в буддийской календарной системе Таиланда на основе полей proleptic-year и day-of-year.
ThaiBuddhistDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
Возвращает локальную дату в буддийской календарной системе Таиланда на основе полей era, year-of-era и day-of-year.
ThaiBuddhistEra eraOf(int eraValue)
Создаёт объект эры хронологии на основе числового значения.
List<Era> eras()
Возвращает список эр хронологии.
String getCalendarType()
Возвращает тип календаря, лежащего в основе календарной системы, — «buddhist».
String getId()
Возвращает идентификатор хронологии — «ThaiBuddhist».
boolean isIsoBased()
ThaiBuddhistChronology — это хронология на основе ISO, поддерживающая поля из IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR.
boolean isLeapYear(long prolepticYear)
Проверяет, является ли указанный год високосным.
ChronoLocalDateTime<ThaiBuddhistDate> localDateTime(TemporalAccessor temporal)
Возвращает локальную дату и время в этой хронологии на основе другого объекта, представляющего дату или время.
int prolepticYear(Era era, int yearOfEra)
Вычисляет proleptic-year по эре и year-of-era.
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 в этой хронологии на основе другого объекта, представляющего дату или время.

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

compareTo, equals, hashCode, toString

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

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

Методы, объявленные в интерфейсе 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 (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.

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

zonedDateTime

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

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

Определено в:
zonedDateTime в интерфейсе Chronology
Параметры:
instant — момент времени, на основе которого создаются дата и время, не null
zone — часовой пояс, не null
Возвращает:
дату и время с часовым поясом, не null

isLeapYear

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

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

Определено в:
isLeapYear в интерфейсе Chronology
Параметры:
prolepticYear — пролептический год для проверки; принадлежность к диапазону не проверяется
Возвращает:
true, если год високосный

prolepticYear

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

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

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

Определено в:
prolepticYear в интерфейсе Chronology
Параметры:
era — эра правильного для хронологии типа, не null
yearOfEra — год эры в данной хронологии
Возвращает:
пролептический год

eraOf

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

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

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

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

Определено в:
eraOf в интерфейсе Chronology
Параметры:
eraValue — значение эры
Возвращает:
эру календарной системы, не null

eras

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

В большинстве календарных систем есть эра, в пределах которой имеет смысл год. Если календарная система не поддерживает понятие эр, необходимо вернуть пустой список.

Определено в:
eras в интерфейсе Chronology
Возвращает:
список эр данной хронологии; может быть неизменяемым, не null

range

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

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

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

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

Определено в:
range в интерфейсе Chronology
Параметры:
field — поле, для которого нужно получить диапазон, не null
Возвращает:
диапазон допустимых значений поля, не null

resolveDate

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

Большинство реализаций TemporalField обрабатываются с помощью метода разрешения поля. В отличие от них, класс 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(). Реализация предполагает, что в неделе 7 дней, первый день месяца имеет значение 1, первый день года имеет значение 1, а первый день месяца и года всегда существует.

Определено в:
resolveDate в интерфейсе Chronology
Переопределено в:
resolveDate в классе AbstractChronology
Параметры:
fieldValues — изменяемая карта полей и значений, не null
resolverStyle — запрошенный тип разрешения, не null
Возвращает:
разрешённую дату или null, если данных недостаточно для создания даты

isIsoBased

public boolean isIsoBased()
ThaiBuddhistChronology — хронология, основанная на ISO и поддерживающая поля из IsoFields, например DAY_OF_QUARTER и QUARTER_OF_YEAR.
Определено в:
isIsoBased в интерфейсе Chronology
Возвращает:
true
Начиная с версии:
19
См. также:
  • IsoFields

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.base/java/time/chrono/ThaiBuddhistChronology.html

Spec-Zone.ru

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