Spec-Zone.ru › OpenJDK 17

Класс 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 из временного объекта.

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

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

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

Параметры:
temporal - временной объект для преобразования, не null
Возвращает:
дату в системе календаря хиджры, не null
Исключения:
DateTimeException - если невозможно преобразовать в HijrahDate
См. также:
  • Chronology.date(TemporalAccessor)

getChronology

public HijrahChronology getChronology()
Возвращает хронологию этой даты, которая является системой календаря хиджры.

Хронология представляет систему календаря, используемого в текущий момент. Эра и другие поля в 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()
Возвращает длительность года, представленного этой датой.

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

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

getLong

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

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

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

with

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

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

В некоторых случаях изменение поля не полностью определено. Например, если целевой объект представляет собой дату 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
Возвращает:
дата хиджры с запрошенной хронологией хиджры, не 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, 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/HijrahDate.html

Spec-Zone.ru

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