Spec-Zone.ru › OpenJDK 24

Класс 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.
  • месяц года - Месяц года ThaiBuddhist точно соответствует ISO.
  • день месяца - День месяца ThaiBuddhist точно соответствует ISO.
  • день года - День года ThaiBuddhist точно соответствует ISO.
  • високосный год - Високосный год в ThaiBuddhist точно соответствует 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 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)
Вычисляет пролептический год, заданный эрой и годом эры.
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()
Возвращает ID хронологии — 'ThaiBuddhist'.

ID уникально идентифицирует Chronology. Его можно использовать для поиска Chronology с помощью Chronology.of(String).

Определено в:
getId в интерфейсе Chronology
Возвращает:
ID хронологии — '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.

Определено в:
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
Разрешает значения, полученные в результате разбора, в дату во время разбора.

Большинство реализаций 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(). Реализация предполагает 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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/time/chrono/ThaiBuddhistChronology.html

Spec-Zone.ru

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