Класс 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 |
Возвращает объект того же типа, что и этот объект, с изменённым указанным полем. |
Методы, объявленные в классе 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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного периода реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного периода реального времени. |
Методы, объявленные в интерфейсе ChronoLocalDate
adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, isSupported, lengthOfYear, query, toEpochDay | Модификатор и тип | Метод | Описание |
|---|---|---|
default Temporal |
adjustInto |
Корректирует указанный временной объект так, чтобы его дата совпадала с датой этого объекта. |
default int |
compareTo |
Сравнивает эту дату с другой датой, включая хронологию. |
default String |
format |
Форматирует эту дату с помощью указанного средства форматирования. |
default boolean |
isAfter |
Проверяет, наступает ли эта дата после указанной даты, не учитывая хронологию. |
default boolean |
isBefore |
Проверяет, наступает ли эта дата до указанной даты, не учитывая хронологию. |
default boolean |
isEqual |
Проверяет, равна ли эта дата указанной дате, не учитывая хронологию. |
default boolean |
isLeapYear() |
Проверяет, является ли год високосным согласно календарной системе. |
default boolean |
isSupported |
Проверяет, поддерживается ли указанное поле. |
default boolean |
isSupported |
Проверяет, поддерживается ли указанная единица измерения. |
default int |
lengthOfYear() |
Возвращает количество дней в году, представленном этой датой, согласно календарной системе. |
default <R> R |
query |
Выполняет запрос к этой дате с помощью указанного запроса. |
default long |
toEpochDay() |
Преобразует эту дату в количество дней от эпохи. |
Методы, объявленные в интерфейсе TemporalAccessor
get, range | Модификатор и тип | Метод | Описание |
|---|---|---|
default int |
get |
Получает значение указанного поля в виде int. |
default ValueRange |
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.