Класс 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() |
Возвращает строковое представление объекта. |
ChronoPeriod |
until |
Вычисляет период между этой датой и другой датой как ChronoPeriod. |
long |
until |
Вычисляет количество времени до другой даты в терминах указанной единицы. |
ThaiBuddhistDate |
with |
Возвращает скорректированный объект того же типа, что и этот объект, с произведенной корректировкой. |
ThaiBuddhistDate |
with |
Возвращает объект того же типа, что и этот объект, с измененным указанным полем. |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе java.time.chrono.ChronoLocalDate
adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, isSupported, lengthOfYear, query, toEpochDay, toString, until
Методы, объявленные в интерфейсе java.time.temporal.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)
ChronoLocalDate Это возвращает новый объект, основанный на этом объекте, со значением для указанного поля, изменённым. Например, для 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 не гарантирует возвращения той же даты и времени.
- Specified by:
-
minusв интерфейсеChronoLocalDate - Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amount- величина для вычитания, не null - Returns:
- объект того же типа с внесенной корректировкой, не null
- Throws:
-
DateTimeException- если вычитание невозможно -
ArithmeticException- если произошел переполнение чисел
plus
public ThaiBuddhistDate plus(long amountToAdd, TemporalUnit unit)
ChronoLocalDate Этот метод возвращает новый объект, основанный на этом объекте, с добавленным указанным периодом. Например, для LocalDate, это можно использовать для добавления числа лет, месяцев или дней. Возвращаемый объект будет иметь тот же наблюдаемый тип, что и этот объект.
В некоторых случаях изменение поля не полностью определено. Например, если целевой объект представляет собой дату, представляющую 31 января, то добавление одного месяца будет неясно. В таких случаях поле отвечает за разрешение результата. Как правило, оно выберет предыдущую допустимую дату, которая в этом примере будет последним допустимым днем февраля.
- Specified by:
-
plusв интерфейсеChronoLocalDate - Specified by:
-
plusв интерфейсеTemporal - Parameters:
-
amountToAdd- количество указанного единицы для добавления, может быть отрицательным -
unit- единица количества для добавления, не null - Returns:
- объект того же типа с добавленным указанным периодом, не null
minus
public ThaiBuddhistDate minus(long amountToSubtract, TemporalUnit unit)
ChronoLocalDate Этот метод возвращает новый объект, основанный на этом объекте, с вычтенным указанным периодом. Например, для LocalDate, это можно использовать для вычитания числа лет, месяцев или дней. Возвращаемый объект будет иметь тот же наблюдаемый тип, что и этот объект.
В некоторых случаях изменение поля не полностью определено. Например, если целевой объект представляет собой дату, представляющую 31 марта, то вычитание одного месяца будет неясно. В таких случаях поле отвечает за разрешение результата. Как правило, оно выберет предыдущую допустимую дату, которая в этом примере будет последним допустимым днем февраля.
- Specified by:
-
minusв интерфейсеChronoLocalDate - Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amountToSubtract- количество указанного единицы для вычитания, может быть отрицательным -
unit- единица количества для вычитания, не null - Returns:
- объект того же типа с вычтенным указанным периодом, не null
atTime
public final ChronoLocalDateTime<ThaiBuddhistDate> atTime(LocalTime localTime)
ChronoLocalDateChronoLocalDateTime. Это возвращает ChronoLocalDateTime , образованную из этой даты в указанное время. Все возможные комбинации даты и времени являются допустимыми.
- Specified by:
-
atTimeв интерфейсеChronoLocalDate - Parameters:
-
localTime- местное время для использования, не null - Returns:
- местное время, образованное из этой даты и указанного времени, не null
until
public ChronoPeriod until(ChronoLocalDate endDate)
ChronoLocalDateChronoPeriod. Это вычисляет период между двумя датами. Все используемые хронологии вычисляют период, используя годы, месяцы и дни, однако API ChronoPeriod позволяет представлять период с использованием других единиц.
Начальная и конечная точки — this и указанная дата. Результат будет отрицательным, если конец находится до начала. Отрицательный знак будет одинаковым в каждом из года, месяца и дня.
Вычисление выполняется с использованием хронологии этой даты. При необходимости входная дата будет преобразована для соответствия.
Этот экземпляр неизменяем и не затрагивается этим вызовом метода.
- Specified by:
-
untilв интерфейсеChronoLocalDate - Parameters:
-
endDate- конечная дата, исключая, которая может быть в любой хронологии, не null - Returns:
- период между этой датой и конечной датой, не null
equals
public boolean equals(Object obj)
Сравнивает эту ThaiBuddhistDate с другой, гарантируя, что дата совпадает.
Сравниваются только объекты типа ThaiBuddhistDate, другие типы возвращают false. Чтобы сравнить даты двух TemporalAccessor экземпляров, включая даты в двух разных хронологиях, используйте ChronoField.EPOCH_DAY в качестве компаратора.
- Specified by:
-
equalsв интерфейсеChronoLocalDate - Parameters:
-
obj- объект для проверки, null возвращает false - Returns:
- true, если эта дата равна другой
- See Also:
hashCode
public int hashCode()
- Specified by:
-
hashCodeв интерфейсеChronoLocalDate - Returns:
- подходящий хеш-код, основанный только на хронологии и дате
- See Also:
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 в качестве первого аргумента и преобразованный входной временной интервал в качестве второго аргумента.
Этот экземпляр неизменяем и не затрагивается этим вызовом метода.
- Specified by:
-
untilв интерфейсеChronoLocalDate - Specified by:
-
untilв интерфейсеTemporal - Parameters:
-
endExclusive- конечная дата, исключая, которая преобразуется вChronoLocalDateв той же хронологии, не null -
unit- единица измерения количества, не null - Returns:
- количество времени между этой датой и конечной датой
toString
public String toString()
Object- Specified by:
-
toStringв интерфейсеChronoLocalDate - Overrides:
-
toStringв классеObject - Returns:
- строковое представление объекта.
© 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/ThaiBuddhistDate.html