Spec-Zone.ru › OpenJDK 24

Класс 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.

Это класc значений; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать экземпляры для синхронизации, иначе могут возникнуть непредсказуемые последствия. Например, в будущей версии синхронизация может завершиться неудачей. Для сравнений следует использовать метод 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()
Выводит эту дату в виде String.
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()
Получает текущую дату исламского календаря Umm Al-Qura в часовом поясе по умолчанию.

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

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

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

now

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

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

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

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

now

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

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

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

of

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

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

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

from

public static HijrahDate from(TemporalAccessor temporal)
Получает дату исламского календаря 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)
Описание скопировано из интерфейса: Temporal
Возвращает объект того же типа, что и этот, с изменённым указанным полем.

Возвращает новый объект, основанный на этом, с изменённым значением указанного поля. Например, для 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, не гарантирует возвращения той же даты и времени.

Указано:
plus в интерфейсе ChronoLocalDate
Указано:
plus в интерфейсе Temporal
Параметры:
amount - значение для добавления, не null
Возвращает:
объект того же типа с произведенной корректировкой, не null
Исключение:
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, не гарантирует возвращения той же даты и времени.

Указано:
minus в интерфейсе ChronoLocalDate
Указано:
minus в интерфейсе Temporal
Параметры:
amount - значение для вычитания, не null
Возвращает:
объект того же типа с произведенной корректировкой, не null
Исключение:
DateTimeException - если вычитание невозможно
ArithmeticException - если происходит переполнение чисел

isLeapYear

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

plus

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

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

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

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

minus

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

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

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

Указано:
minus в интерфейсе ChronoLocalDate
Указано:
minus в интерфейсе Temporal
Параметры:
amountToSubtract - количество указанного единицы для вычитания, может быть отрицательным
unit - единица количества для вычитания, не null
Возвращает:
объект того же типа с вычтенным указанным периодом, не null

atTime

public final ChronoLocalDateTime<HijrahDate> atTime(LocalTime localTime)
Описание, скопированное из интерфейса: ChronoLocalDate
Объединяет эту дату с временем для создания ChronoLocalDateTime.

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

Указано:
atTime в интерфейсе ChronoLocalDate
Параметры:
localTime - локальное время для использования, не null
Возвращает:
локальная дата-время, сформированная из этой даты и указанного времени, не null

until

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

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

Начальная и конечная точки - это this и указанная дата. Результат будет отрицательным, если конец предшествует началу. Отрицательный знак будет таким же в каждом из года, месяца и дня.

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

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

Указано:
until в интерфейсе ChronoLocalDate
Параметры:
endDate - конечная дата, исключающая, которая может быть в любой хронологии, не null
Возвращает:
период между этой датой и конечной датой, не null

equals

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

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

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

Указано:
equals в интерфейсе ChronoLocalDate
Параметры:
obj - объект для проверки, null возвращает false
Возвращает:
true, если эта дата равна другой дате, и хронологии равны
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Хэш-код для этой даты.
Указано:
hashCode в интерфейсе ChronoLocalDate
Возвращает:
подходящий хэш-код, основанный только на хронологии и дате
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

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()
Описание скопировано из интерфейса: ChronoLocalDate
Выводит эту дату как String.

Вывод будет включать полную локальную дату.

Указано в:
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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/time/chrono/HijrahDate.html

Spec-Zone.ru

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