Класс 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 |
atTime |
Объединяет эту дату со временем, чтобы создать ChronoLocalDateTime. |
boolean |
equals |
Сравнивает эту дату с другой датой, включая хронологию. |
static ThaiBuddhistDate |
from |
Получает ThaiBuddhistDate из временного объекта. |
ThaiBuddhistChronology |
getChronology() |
Получает хронологию этой даты — тайскую буддийскую календарную систему. |
ThaiBuddhistEra |
getEra() |
Получает эру, применимую для этой даты. |
long |
getLong |
Получает значение указанного поля в виде long. |
int |
hashCode() |
Хеш-код этой даты. |
int |
lengthOfMonth() |
Возвращает длину месяца, представленного этой датой. |
ThaiBuddhistDate |
minus |
Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом. |
ThaiBuddhistDate |
minus |
Возвращает объект того же типа, что и этот объект, с вычтенным значением. |
static ThaiBuddhistDate |
now() |
Получает текущую ThaiBuddhistDate по системным часам в часовом поясе по умолчанию. |
static ThaiBuddhistDate |
now |
Получает текущую ThaiBuddhistDate по указанным часам. |
static ThaiBuddhistDate |
now |
Получает текущую ThaiBuddhistDate по системным часам в указанном часовом поясе. |
static ThaiBuddhistDate |
of |
Получает ThaiBuddhistDate, представляющую дату в тайской буддийской календарной системе, из полей пролептического года, месяца года и дня месяца. |
ThaiBuddhistDate |
plus |
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом. |
ThaiBuddhistDate |
plus |
Возвращает объект того же типа, что и этот объект, с добавленным значением. |
String |
toString() |
Выводит эту дату в виде String. |
ChronoPeriod |
until |
Вычисляет период между этой датой и другой датой в виде ChronoPeriod. |
long |
until |
Вычисляет время до другой даты в единицах указанного типа. |
ThaiBuddhistDate |
with |
Возвращает объект того же типа, что и этот объект, с примененной корректировкой. |
ThaiBuddhistDate |
with |
Возвращает объект того же типа, что и этот объект, с измененным указанным полем. |
Методы, объявленные в интерфейсе 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)
TemporalAccessorlong. Запрашивает у даты и времени значение указанного поля. Возвращаемое значение может выходить за допустимый диапазон значений поля. Если дата и время не могут вернуть это значение, поскольку поле не поддерживается или по какой-либо иной причине, будет выброшено исключение.
- Определено в:
-
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)
ChronoLocalDateChronoLocalDateTime. Возвращает ChronoLocalDateTime, образованную этой датой и указанным временем. Допустимы все возможные сочетания даты и времени.
- Определено в:
-
atTimeв интерфейсеChronoLocalDate - Параметры:
-
localTime— используемое местное время; значение не равно null - Возвращает:
- местные дата и время, образованные этой датой и указанным временем; значение не равно null
until
public ChronoPeriod until(ChronoLocalDate endDate)
ChronoLocalDateChronoPeriod. Вычисляет период между двумя датами. Все предоставленные хронологии вычисляют период в годах, месяцах и днях, однако 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, если эта дата равна другой дате
- См. также:
hashCode
public int hashCode()
- Определено в:
-
hashCodeв интерфейсеChronoLocalDate - Возвращает:
- подходящий хеш-код, основанный только на хронологии и дате
- См. также:
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()
ChronoLocalDateString. Вывод будет содержать полную местную дату.
- Определено в:
-
toStringв интерфейсеChronoLocalDate - Переопределяет:
-
toStringв классеObject - Возвращает:
- отформатированная дата; значение не равно null
© 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