Spec-Zone.ru › OpenJDK 8

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

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

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

Методы

Модификатор и тип Метод и описание
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)

Возвращает объект того же типа, что и этот объект, с добавленным указанным значением.

ValueRange range(TemporalField field)

Получает диапазон допустимых значений для указанного поля.

long toEpochDay()

Преобразует эту дату в эпохальный день.

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, timeLineOrder, toString, until

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

get

Методы

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.

Определяет:
from в интерфейсе ChronoLocalDate
Параметры:
temporal — временной объект для преобразования, не null
Возвращает:
дату в исламском календарной системе, не null
Выбрасывает:
DateTimeException — если преобразование в HijrahDate невозможно
См. также:
Chronology.date(TemporalAccessor)

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()

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

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

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

range

public ValueRange range(TemporalField field)

Описание скопировано из интерфейса: TemporalAccessor

Получает диапазон допустимых значений для указанного поля.

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

Обратите внимание, что результат описывает только минимальное и максимальное допустимые значения, и не стоит делать слишком много выводов из них. Например, могут быть значения в диапазоне, которые некорректны для поля.

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

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

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

toEpochDay

public long toEpochDay()

Описание скопировано из интерфейса: ChronoLocalDate

Преобразует эту дату в Эпоху дня.

Epoch Day count — это простая возрастающая счётчик дней, где день 0 — 1970-01-01 (ISO). Это определение одинаково для всех хронологий, что позволяет выполнить преобразование.

Эта реализация по умолчанию обращается к полю EPOCH_DAY.

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

isLeapYear

public boolean isLeapYear()

Проверяет, является ли год високосным, согласно правилам календаря Хиджры.

Определено в:
isLeapYear в интерфейсе ChronoLocalDate
Возвращает:
true, если эта дата находится в високосном году

plus

public HijrahDate plus(long amountToAdd,
                       TemporalUnit unit)

Описание скопировано из интерфейса: ChronoLocalDate

Возвращает объект того же типа, что и этот объект, с добавлением указанного периода.

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

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

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

minus

public HijrahDate minus(long amountToSubtract,
                        TemporalUnit unit)

Описание скопировано из интерфейса: ChronoLocalDate

Возвращает объект того же типа, что и этот объект, с вычитанием указанного периода.

Этот метод возвращает новый объект, основанный на этом, с вычтенным указанным периодом. Например, в 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()

Описание скопировано из класса: Object

Возвращает строковое представление объекта. В общем случае метод toString возвращает строку, которая "текстуально представляет" этот объект. Результат должен быть кратким, но информативным представлением, удобным для чтения человеком. Рекомендуется, чтобы все подклассы переопределяли этот метод.

Метод toString для класса Object возвращает строку, состоящую из имени класса, к которому относится объект, символа "@" и неозначенного шестнадцатеричного представления хэш-кода объекта. Другими словами, этот метод возвращает строку, равную значению:

getClass().getName() + '@' + Integer.toHexString(hashCode())
Определено в:
toString в интерфейсе ChronoLocalDate
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта.

© 1993, 2020, 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.

Spec-Zone.ru

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