Spec-Zone.ru › OpenJDK 21

Класс HijrahDate

java.lang.Object
java.time.chrono.HijrahDate
Все реализованные интерфейсы:
Serializable, Comparable<ChronoLocalDate>, ChronoLocalDate, Temporal, TemporalAccessor, TemporalAdjuster
public final class HijrahDate extends Object implements ChronoLocalDate, Serializable
Дата в системе календаря Хиджры.

Эта дата работает с одним из нескольких вариантов календаря Хиджры.

Календарь Хиджры имеет другое общее количество дней в году, чем григорианский календарь, а продолжительность каждого месяца основана на периоде полного оборота Луны вокруг Земли (между последовательными новолуниями). Подробности поддерживаемых вариантов см. в HijrahChronology.

Каждый HijrahDate создается, привязанный к определённой HijrahChronology. Такая же хронология передается каждому HijrahDate, вычисленному из даты. Чтобы использовать другой вариант Хиджры, его HijrahChronology можно использовать для создания новых экземпляров HijrahDate. Кроме того, можно использовать метод withVariant(java.time.chrono.HijrahChronology) для преобразования в новую HijrahChronology.

Это класс значение; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать экземпляры для синхронизации, иначе может произойти непредсказуемое поведение. Например, в будущей версии синхронизация может завершиться неудачно. Для сравнения следует использовать метод equals.

Требования к реализации:
Этот класс неизменяемый и потокобезопасный.
С:
1.8
См. также:
  • Сериализованная форма

Краткое описание методов

Модификатор и тип Метод Описание
final ChronoLocalDateTime<HijrahDate> atTime(LocalTime localTime)
Объединяет эту дату со временем, чтобы создать ChronoLocalDateTime.
boolean equals(Object obj)
Сравнивает эту дату с другой датой, включая хронологию.
static HijrahDate from(TemporalAccessor temporal)
Получает HijrahDate исламского календаря Умм аль-Кура из временного объекта.
HijrahChronology getChronology()
Получает хронологию этой даты, которая является системой календаря Хиджры.
HijrahEra getEra()
Получает эру, применимую к этой дате.
long getLong(TemporalField field)
Получает значение указанного поля как long.
int hashCode()
Хэш-код для этой даты.
boolean isLeapYear()
Проверяет, является ли год високосным годом в соответствии с правилами системы календаря Хиджры.
int lengthOfMonth()
Возвращает длительность месяца, представленного этой датой.
int lengthOfYear()
Возвращает длительность года, представленного этой датой.
HijrahDate minus(long amountToSubtract, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом.
HijrahDate minus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с вычтенной величиной.
static HijrahDate now()
Получает текущую HijrahDate исламского календаря Умм аль-Кура в часовом поясе по умолчанию.
static HijrahDate now(Clock clock)
Получает текущую HijrahDate исламского календаря Умм аль-Кура из указанного таймера.
static HijrahDate now(ZoneId zone)
Получает текущую HijrahDate исламского календаря Умм аль-Кура в указанном часовом поясе.
static HijrahDate of(int prolepticYear, int month, int dayOfMonth)
Получает HijrahDate исламского календаря Умм аль-Кура из пролептического года, месяца и дня месяца.
HijrahDate plus(long amountToAdd, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом.
HijrahDate plus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с добавленной величиной.
String toString()
Возвращает строковое представление объекта.
ChronoPeriod until(ChronoLocalDate endDate)
Вычисляет период между этой датой и другой датой как ChronoPeriod.
long until(Temporal endExclusive, TemporalUnit unit)
Вычисляет количество времени до другой даты в терминах указанного единицы измерения.
HijrahDate with(TemporalAdjuster adjuster)
Возвращает измененный объект того же типа, что и этот объект, с произведённым изменением.
HijrahDate with(TemporalField field, long newValue)
Возвращает объект того же типа, что и этот объект, с изменённым указанным полем.
HijrahDate withVariant(HijrahChronology chronology)
Возвращает HijrahDate с запрошенной хронологией.

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

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

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

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

get, range

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

now

public static HijrahDate now()
Получает текущую дату HijrahDate исламского календаря Umm Al-Qura в часовом поясе по умолчанию.

Для получения текущей даты будет запрошен system clock в часовом поясе по умолчанию.

Использование этого метода запрещает использование альтернарного часового механизма для тестирования, так как часы жестко запрограммированы.

Возвращает:
текущую дату с использованием системных часов и часового пояса по умолчанию, не null

now

public static HijrahDate now(ZoneId zone)
Получает текущую дату HijrahDate исламского календаря Umm Al-Qura в указанном часовом поясе.

Для получения текущей даты будет запрошен system clock. Указание часового пояса исключает зависимость от часового пояса по умолчанию.

Использование этого метода запрещает использование альтернарного часового механизма для тестирования, так как часы жестко запрограммированы.

Параметры:
zone - идентификатор часового пояса для использования, не null
Возвращает:
текущую дату с использованием системных часов, не null

now

public static HijrahDate now(Clock clock)
Получает текущую дату HijrahDate исламского календаря Umm Al-Qura из указанных часов.

Для получения текущей даты - сегодняшней даты - будет запрошен указанный часовой механизм. Использование этого метода позволяет использовать альтернарный часовой механизм для тестирования. Альтернативный часовой механизм может быть введен с помощью инъекции зависимостей.

Параметры:
clock - используемые часы, не null
Возвращает:
текущую дату, не null
Издает:
DateTimeException - если текущая дата не может быть получена

of

public static HijrahDate of(int prolepticYear, int month, int dayOfMonth)
Получает дату HijrahDate исламского календаря Umm Al-Qura из пролептического года, месяца и дня месяца.

Возвращает дату HijrahDate с указанными полями. День должен быть действительным для года и месяца, в противном случае будет выброшено исключение.

Параметры:
prolepticYear - пролептический год хиджры
month - месяц хиджры, от 1 до 12
dayOfMonth - день хиджры, от 1 до 30
Возвращает:
дата в исламском календаре, не null
Издает:
DateTimeException - если значение любого поля находится вне диапазона или если день месяца недействителен для месяца-года

from

public static HijrahDate from(TemporalAccessor temporal)
Получает дату HijrahDate исламского календаря Umm Al-Qura из временного объекта.

Получает дату в исламском календаре на основе указанного временного объекта. TemporalAccessor представляет собой произвольную совокупность информации о дате и времени, которую этот фабричный метод преобразует в экземпляр HijrahDate.

Преобразование обычно использует поле EPOCH_DAY, которое стандартизировано в различных календарных системах.

Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, позволяя использовать его в качестве запроса через ссылку на метод, HijrahDate::from.

Параметры:
temporal - временной объект для преобразования, не null
Возвращает:
дата в исламском календаре, не null
Издает:
DateTimeException - если преобразование в HijrahDate невозможно

getChronology

public HijrahChronology getChronology()
Получает хронологию этой даты, которая представляет исламский календарь.

Chronology представляет календарную систему, используемую. Эра и другие поля в ChronoField определяются хронологией.

Определено в:
getChronology в интерфейсе ChronoLocalDate
Возвращает:
хронологию хиджры, не null

getEra

public HijrahEra getEra()
Получает эпоху, применимую к этой дате.

В исламском календаре существует одна эпоха 'AH', определенная в HijrahEra.

Определено в:
getEra в интерфейсе ChronoLocalDate
Возвращает:
эпоху, применимую к этой дате, не null

lengthOfMonth

public int lengthOfMonth()
Возвращает длительность месяца, представленного этой датой.

Возвращает длительность месяца в днях. Длительность месяцев в исламском календаре варьируется от 29 до 30 дней.

Определено в:
lengthOfMonth в интерфейсе ChronoLocalDate
Возвращает:
длительность месяца в днях

lengthOfYear

public int lengthOfYear()
Возвращает длительность года, представленного этой датой.

Возвращает длительность года в днях. Год в исламском календаре обычно короче, чем в григорианском.

Определено в:
lengthOfYear в интерфейсе ChronoLocalDate
Возвращает:
длительность года в днях

getLong

public long getLong(TemporalField field)
Описание скопировано из интерфейса: TemporalAccessor
Получает значение указанного поля как long.

Запрашивает значение указанного поля у даты-времени. Возвращаемое значение может находиться вне допустимого диапазона значений для поля. Если дата-время не может вернуть значение, потому что поле не поддерживается или по какой-либо другой причине, будет выброшено исключение.

Определено в:
getLong в интерфейсе TemporalAccessor
Параметры:
field - поле для получения, не null
Возвращает:
значение для поля

with

public HijrahDate with(TemporalField field, long newValue)
Описание скопировано из интерфейса: ChronoLocalDate
Возвращает объект того же типа, что и этот объект, с измененным указанным полем.

Возвращает новый объект, основанный на этом объекте, со значением указанного поля, измененного. Например, для LocalDate, это может быть использовано для установки года, месяца или дня месяца. Возвращаемый объект будет иметь тот же тип наблюдаемого объекта, что и этот объект.

В некоторых случаях изменение поля не полностью определено. Например, если целевой объект представляет собой дату 31 января, а затем изменяется месяц на февраль, то неясно, что делать. В таких случаях поле отвечает за решение результата. Обычно оно выбирает предыдущую действительную дату, которая в данном примере будет последним днем февраля.

Определено в:
with в интерфейсе ChronoLocalDate
Определено в:
with в интерфейсе Temporal
Параметры:
field - поле для установки в результате, не null
newValue - новое значение поля в результате
Возвращает:
объект того же типа со значением указанного поля, не null

with

public HijrahDate 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 - если корректировку выполнить невозможно. Например, если корректирующему элементу требуется ISO-хронология
ArithmeticException - если происходит переполнение числового значения

withVariant

public HijrahDate withVariant(HijrahChronology chronology)
Возвращает HijrahDate с запрошенной хронологией.

Год, месяц и день проверяются на соответствие новой запрошенной хронологии хиджры. Если хронология имеет более короткую длительность месяца для месяца, день уменьшается до последнего дня месяца.

Параметры:
chronology - новая хронология хиджры, не null
Возвращает:
HijrahDate с запрошенной хронологией хиджры, не null

plus

public HijrahDate 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 не гарантирует возврат той же даты и времени.

Specified by:
plus в интерфейсе ChronoLocalDate
Specified by:
plus в интерфейсе Temporal
Parameters:
amount - добавляемое значение, не null
Returns:
объект того же типа с выполненной указанной корректировкой, не null
Throws:
DateTimeException - если добавление невозможно
ArithmeticException - если происходит переполнение числовых значений

minus

public HijrahDate 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 - если происходит переполнение числовых значений

isLeapYear

public boolean isLeapYear()
Проверяет, является ли год високосным, согласно правилам системы календаря Хиджры.
Specified by:
isLeapYear в интерфейсе ChronoLocalDate
Returns:
true, если эта дата находится в високосном году

plus

public HijrahDate plus(long amountToAdd, TemporalUnit unit)
Описание скопировано из интерфейса: ChronoLocalDate
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом.

Этот метод возвращает новый объект, основанный на этом объекте, с добавленным указанным периодом. Например, на LocalDate, это можно использовать для добавления количества лет, месяцев или дней. Возвращаемый объект будет иметь тот же наблюдаемый тип, что и этот объект.

В некоторых случаях изменение поля не полностью определено. Например, если целевой объект является датой, представляющей 31 января, то добавление одного месяца будет неясно. В таких случаях поле отвечает за разрешение результата. Обычно оно выберет предыдущую допустимую дату, которая в данном примере будет последним допустимым днем февраля.

Specified by:
plus в интерфейсе ChronoLocalDate
Specified by:
plus в интерфейсе Temporal
Parameters:
amountToAdd - количество указанной единицы для добавления, может быть отрицательным
unit - единица количества для добавления, не null
Returns:
объект того же типа с добавленным указанным периодом, не null

minus

public HijrahDate 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<HijrahDate> atTime(LocalTime localTime)
Описание скопировано из интерфейса: ChronoLocalDate
Объединяет эту дату со временем, чтобы создать ChronoLocalDateTime.

Это возвращает ChronoLocalDateTime, сформированную из этой даты в указанное время. Все возможные комбинации даты и времени допустимы.

Specified by:
atTime в интерфейсе ChronoLocalDate
Parameters:
localTime - используемое местное время, не null
Returns:
локальное дата-время, сформированное из этой даты и указанного времени, не null

until

public ChronoPeriod until(ChronoLocalDate endDate)
Описание скопировано из интерфейса: ChronoLocalDate
Вычисляет период между этой датой и другой датой как ChronoPeriod.

Это вычисляет период между двумя датами. Все предоставленные хронологии вычисляют период, используя годы, месяцы и дни, однако API ChronoPeriod позволяет представлять период с использованием других единиц.

Точки начала и конца — this и указанная дата. Результат будет отрицательным, если конец находится до начала. Отрицательный знак будет одинаковым для года, месяца и дня.

Вычисление выполняется с использованием хронологии этой даты. При необходимости дата ввода будет преобразована в соответствие.

Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.

Specified by:
until в интерфейсе ChronoLocalDate
Parameters:
endDate - конечная дата, исключая, которая может находиться в любой хронологии, не null
Returns:
период между этой датой и конечной датой, не null

equals

public boolean equals(Object obj)
Сравнивает эту дату с другой датой, включая хронологию.

Сравнивает эту HijrahDate с другой, обеспечивая, что дата такая же.

Сравниваются только объекты типа HijrahDate, другие типы возвращают false. Чтобы сравнить даты двух экземпляров TemporalAccessor экземпляров, включая даты в двух разных хронологиях, используйте ChronoField.EPOCH_DAY в качестве компаратора.

Specified by:
equals в интерфейсе ChronoLocalDate
Parameters:
obj - проверяемый объект, null возвращает false
Returns:
true, если это равно другой дате и хронологии равны
See Also:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Хеш-код для этой даты.
Specified by:
hashCode в интерфейсе ChronoLocalDate
Returns:
подходящий хеш-код, основанный только на хронологии и дате
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)
END_OF_DOCUMENT_MARKER

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()
Описание скопировано из класса: Object
Возвращает строковое представление объекта.
Указано в:
toString в интерфейсе ChronoLocalDate
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта.

© 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/HijrahDate.html

Spec-Zone.ru

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