Spec-Zone.ru › OpenJDK 21

Класс 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()
Возвращает идентификатор хронологии — '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

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(). Реализация предполагает 7-дневную неделю, что первое число месяца имеет значение 1, что первое число года имеет значение 1 и что первое число месяца и года всегда существует.

Specified by:
resolveDate in interface Chronology
Overrides:
resolveDate in class AbstractChronology
Parameters:
fieldValues - карта полей со значениями, которые могут быть обновлены, не null
resolverStyle - запрашиваемый тип разрешения, не null
Returns:
разрешённая дата, null, если недостаточно информации для создания даты

isIsoBased

public boolean isIsoBased()
ThaiBuddhistChronology представляет собой хронологию на основе ISO, которая поддерживает поля в IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR.
Specified by:
isIsoBased in interface Chronology
Returns:
true
Since:
19
See Also:
  • IsoFields

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

Spec-Zone.ru

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