Spec-Zone.ru › OpenJDK 27

Класс ThaiBuddhistDate

java.lang.Object
java.time.chrono.ThaiBuddhistDate
Все реализуемые интерфейсы:
Serializable, Comparable<ChronoLocalDate>, ChronoLocalDate, Temporal, TemporalAccessor, TemporalAdjuster
public final class ThaiBuddhistDate extends Object implements ChronoLocalDate, Serializable
Дата в тайском буддийском календаре.

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

Этот класс является классом, основанным на значениях; программистам следует считать экземпляры, которые равны, взаимозаменяемыми и не использовать экземпляры для синхронизации, иначе может возникнуть непредсказуемое поведение. Например, в будущей версии синхронизация может завершиться неудачно. Для сравнения следует использовать метод equals.

Требования к реализации:
Этот класс неизменяемый и потокобезопасный.
Появился в версии:
1.8
См. также:
  • Сериализованная форма

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

Модификатор и тип Метод Описание
final ChronoLocalDateTime<ThaiBuddhistDate> atTime(LocalTime localTime)
Объединяет эту дату со временем, чтобы создать ChronoLocalDateTime.
boolean equals(Object obj)
Сравнивает эту дату с другой датой, включая хронологию.
static ThaiBuddhistDate from(TemporalAccessor temporal)
Получает ThaiBuddhistDate из временного объекта.
ThaiBuddhistChronology getChronology()
Получает хронологию этой даты — тайскую буддийскую календарную систему.
ThaiBuddhistEra getEra()
Получает эру, действующую на эту дату.
long getLong(TemporalField field)
Получает значение указанного поля в виде long.
int hashCode()
Хеш-код этой даты.
int lengthOfMonth()
Возвращает количество дней в месяце, представленном этой датой.
ThaiBuddhistDate minus(long amountToSubtract, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом.
ThaiBuddhistDate minus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с вычтенным значением.
static ThaiBuddhistDate now()
Получает текущий ThaiBuddhistDate по системным часам в часовом поясе по умолчанию.
static ThaiBuddhistDate now(Clock clock)
Получает текущий ThaiBuddhistDate по указанным часам.
static ThaiBuddhistDate now(ZoneId zone)
Получает текущий ThaiBuddhistDate по системным часам в указанном часовом поясе.
static ThaiBuddhistDate of(int prolepticYear, int month, int dayOfMonth)
Получает ThaiBuddhistDate, представляющую дату в тайском буддийском календаре, из полей пролептического года, месяца года и дня месяца.
ThaiBuddhistDate plus(long amountToAdd, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом.
ThaiBuddhistDate plus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с добавленным значением.
String toString()
Представляет эту дату в виде String.
ChronoPeriod until(ChronoLocalDate endDate)
Вычисляет период между этой датой и другой датой в виде ChronoPeriod.
long until(Temporal endExclusive, TemporalUnit unit)
Вычисляет время до другой даты в единицах указанной единицы измерения.
ThaiBuddhistDate with(TemporalAdjuster adjuster)
Возвращает скорректированный объект того же типа, что и этот объект, с применённой корректировкой.
ThaiBuddhistDate with(TemporalField field, long newValue)
Возвращает объект того же типа, что и этот объект, с изменённым указанным полем.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного периода реального времени.

Методы, объявленные в интерфейсе ChronoLocalDate

adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, isSupported, lengthOfYear, query, toEpochDay
Модификатор и тип Метод Описание
default Temporal adjustInto(Temporal temporal)
Корректирует указанный временной объект так, чтобы его дата совпадала с датой этого объекта.
default int compareTo(ChronoLocalDate other)
Сравнивает эту дату с другой датой, включая хронологию.
default String format(DateTimeFormatter formatter)
Форматирует эту дату с помощью указанного средства форматирования.
default boolean isAfter(ChronoLocalDate other)
Проверяет, наступает ли эта дата после указанной даты, не учитывая хронологию.
default boolean isBefore(ChronoLocalDate other)
Проверяет, наступает ли эта дата до указанной даты, не учитывая хронологию.
default boolean isEqual(ChronoLocalDate other)
Проверяет, равна ли эта дата указанной дате, не учитывая хронологию.
default boolean isLeapYear()
Проверяет, является ли год високосным согласно календарной системе.
default boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
default boolean isSupported(TemporalUnit unit)
Проверяет, поддерживается ли указанная единица измерения.
default int lengthOfYear()
Возвращает количество дней в году, представленном этой датой, согласно календарной системе.
default <R> R query(TemporalQuery<R> query)
Выполняет запрос к этой дате с помощью указанного запроса.
default long toEpochDay()
Преобразует эту дату в количество дней от эпохи.

Методы, объявленные в интерфейсе TemporalAccessor

get, range
Модификатор и тип Метод Описание
default int get(TemporalField field)
Получает значение указанного поля в виде int.
default ValueRange range(TemporalField field)
Получает диапазон допустимых значений указанного поля.

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

now

public static ThaiBuddhistDate now()
Получает текущий ThaiBuddhistDate по системным часам в часовом поясе по умолчанию.

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

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

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

now

public static ThaiBuddhistDate now(ZoneId zone)
Получает текущий ThaiBuddhistDate по системным часам в указанном часовом поясе.

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

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

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

now

public static ThaiBuddhistDate now(Clock clock)
Получает текущий ThaiBuddhistDate по указанным часам.

Для получения текущей даты — сегодняшнего дня — будет выполнен запрос к указанным часам. Использование этого метода позволяет применять альтернативные часы для тестирования. Альтернативные часы можно передать с помощью внедрения зависимостей.

Параметры:
clock — часы, которые следует использовать, не null
Возвращает:
текущую дату, не null
Выбрасывает:
DateTimeException — если текущую дату невозможно получить

of

public static ThaiBuddhistDate of(int prolepticYear, int month, int dayOfMonth)
Создает ThaiBuddhistDate, представляющий дату в тайском буддийском календаре, на основе полей пролептического года, месяца и дня месяца.

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

Параметры:
prolepticYear — пролептический год тайского буддийского календаря
month — месяц тайского буддийского календаря, от 1 до 12
dayOfMonth — день месяца тайского буддийского календаря, от 1 до 31
Возвращает:
дату в тайском буддийском календаре, не null
Выбрасывает:
DateTimeException — если значение любого поля выходит за допустимый диапазон или день месяца недопустим для указанного месяца и года

from

public static ThaiBuddhistDate from(TemporalAccessor temporal)
Получает ThaiBuddhistDate из временного объекта.

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

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

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

Параметры:
temporal — временной объект для преобразования, не null
Возвращает:
дату в тайском буддийском календаре, не null
Выбрасывает:
DateTimeException — если не удается преобразовать объект в ThaiBuddhistDate

getChronology

public ThaiBuddhistChronology getChronology()
Возвращает хронологию этой даты — тайский буддийский календарь.

Chronology представляет используемую календарную систему. Эра и другие поля в ChronoField определяются хронологией.

Определено в:
getChronology в интерфейсе ChronoLocalDate
Возвращает:
хронологию тайского буддийского календаря, не null

getEra

public ThaiBuddhistEra getEra()
Возвращает эру, действующую на эту дату.

В тайском буддийском календаре есть две эры — 'BE' и 'BEFORE_BE', определенные в ThaiBuddhistEra.

Определено в:
getEra в интерфейсе ChronoLocalDate
Возвращает:
эру, действующую на эту дату, не null

lengthOfMonth

public int lengthOfMonth()
Возвращает продолжительность месяца, представленного этой датой.

Возвращает продолжительность месяца в днях. Продолжительность месяцев соответствует продолжительности месяцев в календарной системе ISO.

Определено в:
lengthOfMonth в интерфейсе ChronoLocalDate
Возвращает:
продолжительность месяца в днях

getLong

public long getLong(TemporalField field)
Описание скопировано из интерфейса: TemporalAccessor
Получает значение указанного поля в виде long.

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

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

with

public ThaiBuddhistDate with(TemporalField field, long newValue)
Описание скопировано из интерфейса: Temporal
Возвращает объект того же типа, что и этот объект, с измененным указанным полем.

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

В некоторых случаях изменение поля определено не полностью. Например, если целевой объект — дата, соответствующая 31 января, то изменение месяца на февраль неоднозначно. В таких случаях поле отвечает за определение результата. Обычно выбирается предыдущая допустимая дата, то есть в этом примере — последний допустимый день февраля.

Определено в:
with в интерфейсе ChronoLocalDate
Определено в:
with в интерфейсе Temporal
Параметры:
field — поле, которое нужно установить в результате, не null
newValue — новое значение поля в результате
Возвращает:
объект того же типа с установленным указанным полем, не null

with

public ThaiBuddhistDate with(TemporalAdjuster adjuster)
Возвращает скорректированный объект того же типа, что и этот объект, применив указанную корректировку.

Корректирует дату и время согласно правилам указанного корректора. Простой корректор может лишь установить одно из полей, например поле года. Более сложный корректор может изменить дату на последний день месяца. Набор распространенных корректировок представлен в TemporalAdjusters. В их числе — поиск «последнего дня месяца» и «следующей среды». Корректор отвечает за обработку особых случаев, таких как разная продолжительность месяцев и високосные годы.

Примеры кода, показывающие, как и зачем используется этот метод:

 date = date.with(Month.JULY);        // most key classes implement TemporalAdjuster
 date = date.with(lastDayOfMonth());  // static import from Adjusters
 date = date.with(next(WEDNESDAY));   // static import from Adjusters and DayOfWeek
Определено в:
with в интерфейсе ChronoLocalDate
Определено в:
with в интерфейсе Temporal
Параметры:
adjuster — используемый корректор, не null
Возвращает:
объект того же типа с примененной указанной корректировкой, не null
Выбрасывает:
DateTimeException — если не удается выполнить корректировку
ArithmeticException — при переполнении числового значения

plus

public ThaiBuddhistDate plus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с добавленной величиной.

Корректирует этот временной объект, добавляя величину согласно ее правилам. Обычно величина представляет собой Period, но может быть объектом любого другого типа, реализующего интерфейс TemporalAmount, например Duration.

Примеры кода, показывающие, как и зачем используется этот метод:

 date = date.plus(period);                // add a Period instance
 date = date.plus(duration);              // add a Duration instance
 date = date.plus(workingDays(6));        // example user-written workingDays method

Обратите внимание: вызов plus, за которым следует minus, не гарантирует возврат исходной даты и времени.

Определено в:
plus в интерфейсе ChronoLocalDate
Определено в:
plus в интерфейсе Temporal
Параметры:
amount — величина, которую нужно добавить, не null
Возвращает:
объект того же типа с примененной указанной корректировкой, не null
Выбрасывает:
DateTimeException — если сложение невозможно выполнить
ArithmeticException — при переполнении числового значения

minus

public ThaiBuddhistDate minus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с вычтенной величиной.

Корректирует этот временной объект, вычитая величину согласно ее правилам. Обычно величина представляет собой Period, но может быть объектом любого другого типа, реализующего интерфейс TemporalAmount, например Duration.

Примеры кода, показывающие, как и зачем используется этот метод:

 date = date.minus(period);               // subtract a Period instance
 date = date.minus(duration);             // subtract a Duration instance
 date = date.minus(workingDays(6));       // example user-written workingDays method

Обратите внимание: вызов plus, за которым следует minus, не гарантирует возврат исходной даты и времени.

Определено в:
minus в интерфейсе ChronoLocalDate
Определено в:
minus в интерфейсе Temporal
Параметры:
amount — величина, которую нужно вычесть, не null
Возвращает:
объект того же типа с примененной указанной корректировкой, не null
Выбрасывает:
DateTimeException — если вычитание невозможно выполнить
ArithmeticException — при переполнении числового значения

plus

public ThaiBuddhistDate plus(long amountToAdd, TemporalUnit unit)
Описание скопировано из интерфейса: Temporal
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом.

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

В некоторых случаях изменение поля определено не полностью. Например, если целевой объект — дата, соответствующая 31 января, то добавление одного месяца неоднозначно. В таких случаях поле отвечает за определение результата. Обычно выбирается предыдущая допустимая дата, то есть в этом примере — последний допустимый день февраля.

Определено в:
plus в интерфейсе ChronoLocalDate
Определено в:
plus в интерфейсе Temporal
Параметры:
amountToAdd — величина в указанных единицах, которую нужно добавить; может быть отрицательной
unit — единица измерения добавляемой величины, не null
Возвращает:
объект того же типа с добавленным указанным периодом, не null

minus

public ThaiBuddhistDate minus(long amountToSubtract, TemporalUnit unit)
Описание скопировано из интерфейса: Temporal
Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом.

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

В некоторых случаях изменение поля определено не полностью. Например, если целевой объект — дата, соответствующая 31 марта, то вычитание одного месяца неоднозначно. В таких случаях поле отвечает за определение результата. Обычно выбирается предыдущая допустимая дата, то есть в этом примере — последний допустимый день февраля.

Определено в:
minus в интерфейсе ChronoLocalDate
Определено в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract — величина в указанных единицах, которую нужно вычесть; может быть отрицательной
unit — единица измерения вычитаемой величины, не null
Возвращает:
объект того же типа с вычтенным указанным периодом, не null

atTime

public final ChronoLocalDateTime<ThaiBuddhistDate> atTime(LocalTime localTime)
Описание скопировано из интерфейса: ChronoLocalDate
Объединяет эту дату со временем, чтобы создать ChronoLocalDateTime.

Возвращает ChronoLocalDateTime, образованное этой датой и указанным временем. Допустимы все возможные сочетания даты и времени.

Определено в:
atTime в интерфейсе ChronoLocalDate
Параметры:
localTime — используемое местное время, не null
Возвращает:
местные дату и время, образованные этой датой и указанным временем, не null

until

public ChronoPeriod until(ChronoLocalDate endDate)
Описание скопировано из интерфейса: ChronoLocalDate
Вычисляет период между этой датой и другой датой в виде ChronoPeriod.

Вычисляет период между двумя датами. Все поддерживаемые хронологии вычисляют период в годах, месяцах и днях, однако API ChronoPeriod позволяет представить период в других единицах.

Начальной и конечной точками являются this и указанная дата. Результат будет отрицательным, если конечная точка предшествует начальной. Знак результата будет одинаковым для года, месяца и дня.

Вычисление выполняется с использованием хронологии этой даты. При необходимости входная дата преобразуется в соответствующую хронологию.

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

Определено в:
until в интерфейсе ChronoLocalDate
Параметры:
endDate — конечная дата, не включается в период; может относиться к любой хронологии, не null
Возвращает:
период между этой датой и конечной датой, не null

equals

public boolean equals(Object obj)
Сравнивает эту дату с другой датой, включая хронологию.

Сравнивает эту ThaiBuddhistDate с другой, проверяя, совпадают ли даты.

Сравниваются только объекты типа ThaiBuddhistDate; для объектов других типов возвращается false. Чтобы сравнить даты двух экземпляров TemporalAccessor, включая даты в разных хронологиях, используйте ChronoField.EPOCH_DAY в качестве компаратора.

Определено в:
equals в интерфейсе ChronoLocalDate
Параметры:
obj — проверяемый объект; для null возвращается false
Возвращает:
true, если эта дата равна другой дате
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Хеш-код этой даты.
Определено в:
hashCode в интерфейсе ChronoLocalDate
Возвращает:
подходящий хеш-код, основанный только на хронологии и дате
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

until

public long until(Temporal endExclusive, TemporalUnit unit)
Описание скопировано из интерфейса: ChronoLocalDate
Вычисляет время до другой даты в указанных единицах измерения.

Вычисляет время между двумя объектами ChronoLocalDate в одной TemporalUnit. Начальной и конечной точками являются this и указанная дата. Результат будет отрицательным, если конечная точка предшествует начальной. Переданный в этот метод объект Temporal преобразуется в ChronoLocalDate с помощью Chronology.date(TemporalAccessor). Результат вычисления представляет собой целое число полных единиц между двумя датами. Например, количество дней между двумя датами можно вычислить с помощью startDate.until(endDate, DAYS).

Этот метод можно использовать двумя эквивалентными способами. Первый — вызвать данный метод. Второй — использовать TemporalUnit.between(Temporal, Temporal):

  // these two lines are equivalent
  amount = start.until(end, MONTHS);
  amount = MONTHS.between(start, end);
Выбор следует делать исходя из того, какой вариант делает код понятнее.

Для ChronoUnit вычисление реализовано в этом методе. Все реализации должны поддерживать единицы DAYS, WEEKS, MONTHS, YEARS, DECADES, CENTURIES, MILLENNIA и ERAS. Для других значений ChronoUnit будет выброшено исключение.

Если единица измерения не является ChronoUnit, результат этого метода получается путем вызова TemporalUnit.between(Temporal, Temporal) с передачей this в качестве первого аргумента, а преобразованного входного временного объекта — в качестве второго.

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

Определено в:
until в интерфейсе ChronoLocalDate
Определено в:
until в интерфейсе Temporal
Параметры:
endExclusive — конечная дата, не включается в период; преобразуется в ChronoLocalDate той же хронологии, не null
unit — единица измерения, в которой вычисляется величина, не null
Возвращает:
время между этой датой и конечной датой

toString

public String toString()
Описание скопировано из интерфейса: ChronoLocalDate
Выводит эту дату в виде String.

Вывод будет содержать полную местную дату.

Определено в:
toString в интерфейсе ChronoLocalDate
Переопределяет:
toString в классе Object
Возвращает:
отформатированную дату, не null

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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