Класс 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 |
Объединяет эту дату с временем для создания 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()
Это запросит system clock в часовом поясе по умолчанию, чтобы получить текущую дату.
Использование этого метода предотвратит возможность использования альтернативных часов для тестирования, так как часы жестко закодированы.
- Возвращает:
- текущую дату, используя системные часы и часовой пояс по умолчанию, не null
now
public static ThaiBuddhistDate now(ZoneId zone)
Это запросит system clock, чтобы получить текущую дату. Указание часового пояса позволяет избежать зависимости от часового пояса по умолчанию.
Использование этого метода предотвратит возможность использования альтернативных часов для тестирования, так как часы жестко закодированы.
- Параметры:
-
zone- идентификатор часового пояса для использования, не null - Возвращает:
- текущую дату, используя системные часы, не null
now
public static ThaiBuddhistDate now(Clock clock)
Это запросит указанные часы, чтобы получить текущую дату — сегодня. Использование этого метода позволяет использовать альтернативные часы для тестирования. Альтернативные часы могут быть введены с помощью ввода зависимостей.
- Параметры:
-
clock- часы для использования, не null - Возвращает:
- текущую дату, не null
- Выбрасывает:
-
DateTimeException- если текущая дата не может быть получена
of
public static ThaiBuddhistDate of(int prolepticYear, int month, int dayOfMonth)
Возвращает дату с указанными полями. День должен быть корректным для года и месяца, в противном случае будет брошено исключение.
- Параметры:
-
prolepticYear- год в пролептической системе календаря буддистской эры Таиланда -
month- месяц в системе календаря буддистской эры Таиланда, от 1 до 12 -
dayOfMonth- день в системе календаря буддистской эры Таиланда, от 1 до 31 - Возвращает:
- дату в системе календаря буддистской эры Таиланда, не null
- Выбрасывает:
-
DateTimeException- если значение любого поля находится вне допустимого диапазона или если день некорректен для месяца и года
from
public static ThaiBuddhistDate from(TemporalAccessor temporal)
Получает дату в системе календаря буддистской эры Таиланда, основываясь на указанном временном объекте. Временной объект представляет собой произвольную информацию о дате и времени, которую этот фабричный метод преобразует в экземпляр ThaiBuddhistDate.
Преобразование обычно использует поле EPOCH_DAY, которое стандартизировано для всех систем календаря.
Этот метод соответствует подписи функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса с помощью ссылки на метод, ThaiBuddhistDate::from.
- Параметры:
-
temporal- временной объект для преобразования, не null - Возвращает:
- дату в системе календаря буддистской эры Таиланда, не null
- Выбрасывает:
-
DateTimeException- если преобразование в дату не удалось - См. также:
getChronology
public ThaiBuddhistChronology getChronology()
Хронология представляет систему календаря, которая используется. Эра и другие поля в 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Запрашивает значение указанного поля для даты и времени. Возвращаемое значение может быть вне допустимого диапазона значений для поля. Если дата и время не могут вернуть значение, потому что поле не поддерживается или по какой-либо другой причине, будет брошено исключение.
- Задан в:
-
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 amountToAdd, TemporalUnit unit)
ChronoLocalDateЭтот метод возвращает новый объект, основанный на этом объекте, с вычтенным указанным периодом. Например, для LocalDate, это может использоваться для вычитания количества лет, месяцев или дней. Возвращаемый объект будет иметь тот же наблюдаемый тип, что и этот объект.
В некоторых случаях изменение поля не полностью определено. Например, если целевой объект представляет дату 31 марта, то вычитание одного месяца будет неясным. В таких случаях поле отвечает за разрешение результата. Обычно оно выберет предыдущую допустимую дату, которая в этом примере будет последним допустимым днем февраля.
- Specified by:
-
minusв интерфейсеChronoLocalDate - Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amountToAdd- количество указанного типа для вычитания, может быть отрицательным -
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, 2021, 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/17/docs/api/java.base/java/time/chrono/ThaiBuddhistDate.html