Spec-Zone.ru › OpenJDK 25

Класс 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

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

adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, isSupported, lengthOfYear, query, toEpochDay, toString, until

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

get, range

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

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, 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/ThaiBuddhistDate.html

Spec-Zone.ru

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