Класс AbstractChronology
- Все реализуемые интерфейсы:
Comparable<Chronology>, Chronology
- Прямые известные подклассы:
HijrahChronology, IsoChronology, JapaneseChronology, MinguoChronology, ThaiBuddhistChronology
public abstract class AbstractChronology extends Object implements Chronology
Основной API для работы с датой и временем построен на календарной системе ISO. Хронология действует в фоновом режиме, представляя общее понятие календарной системы.
Дополнительные сведения см. в Chronology.
- Требования к реализации:
- Этот класс отделен от интерфейса
Chronology, чтобы статические методы не наследовались. ХотяChronologyможно реализовать напрямую, настоятельно рекомендуется вместо этого расширять данный абстрактный класс.Этот класс необходимо реализовывать тщательно, чтобы обеспечить корректную работу других классов. Все реализации, которые можно создать, должны быть final, неизменяемыми и потокобезопасными. По возможности подклассы должны реализовывать Serializable.
- С версии:
- 1.8
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает экземпляр. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
compareTo |
Сравнивает эту хронологию с другой хронологией. |
boolean |
equals |
Проверяет, равна ли эта хронология другой хронологии. |
int |
hashCode() |
Хэш-код этой хронологии. |
ChronoLocalDate |
resolveDate |
Преобразует разобранные значения ChronoField в дату в процессе разбора. |
String |
toString() |
Представляет эту хронологию в виде String, используя идентификатор хронологии. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения определенного времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения определенного времени. |
Методы, объявленные в интерфейсе Chronology
date, date, date, dateEpochDay, dateNow, dateNow, dateNow, dateYearDay, dateYearDay, epochSecond, epochSecond, eraOf, eras, getCalendarType, getDisplayName, getId, isIsoBased, isLeapYear, localDateTime, period, prolepticYear, range, zonedDateTime, zonedDateTime | Модификатор и тип | Метод | Описание |
|---|---|---|
ChronoLocalDate |
date |
Получает локальную дату в этой хронологии из полей пролептического года, месяца года и дня месяца. |
default ChronoLocalDate |
date |
Получает локальную дату в этой хронологии из полей эры, года эры, месяца года и дня месяца. |
ChronoLocalDate |
date |
Получает локальную дату в этой хронологии из другого объекта даты и времени. |
ChronoLocalDate |
dateEpochDay |
Получает локальную дату в этой хронологии из дня эпохи. |
default ChronoLocalDate |
dateNow() |
Получает текущую локальную дату в этой хронологии по системным часам в часовом поясе по умолчанию. |
default ChronoLocalDate |
dateNow |
Получает текущую локальную дату в этой хронологии по указанным часам. |
default ChronoLocalDate |
dateNow |
Получает текущую локальную дату в этой хронологии по системным часам в указанном часовом поясе. |
ChronoLocalDate |
dateYearDay |
Получает локальную дату в этой хронологии из полей пролептического года и дня года. |
default ChronoLocalDate |
dateYearDay |
Получает локальную дату в этой хронологии из полей эры, года эры и дня года. |
default long |
epochSecond |
Получает количество секунд с начала эпохи 1970-01-01T00:00:00Z. |
default long |
epochSecond |
Получает количество секунд с начала эпохи 1970-01-01T00:00:00Z. |
Era |
eraOf |
Создает объект эры хронологии из числового значения. |
List |
eras() |
Получает список эр этой хронологии. |
String |
getCalendarType() |
Получает тип календаря календарной системы. |
default String |
getDisplayName |
Получает текстовое представление этой хронологии. |
String |
getId() |
Получает идентификатор хронологии. |
default boolean |
isIsoBased() |
Проверяет, основана ли эта хронология на ISO. |
boolean |
isLeapYear |
Проверяет, является ли указанный год високосным. |
default ChronoLocalDateTime |
localDateTime |
Получает локальные дату и время в этой хронологии из другого объекта даты и времени. |
default ChronoPeriod |
period |
Получает период для этой хронологии на основе лет, месяцев и дней. |
int |
prolepticYear |
Вычисляет пролептический год по эре и году эры. |
ValueRange |
range |
Получает диапазон допустимых значений для указанного поля. |
default ChronoZonedDateTime |
zonedDateTime |
Получает ChronoZonedDateTime в этой хронологии из Instant. |
default ChronoZonedDateTime |
zonedDateTime |
Получает ChronoZonedDateTime в этой хронологии из другого объекта даты и времени. |
Подробное описание конструкторов
AbstractChronology
protected AbstractChronology()
Подробное описание методов
resolveDate
public ChronoLocalDate resolveDate(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle)
ChronoField в дату в процессе разбора. Большинство реализаций TemporalField разрешаются с помощью метода разрешения поля. В отличие от них, класс ChronoField определяет поля, смысл которых зависит от хронологии. Поэтому поля даты ChronoField разрешаются здесь в контексте конкретной хронологии.
Экземпляры ChronoField разрешаются этим методом, который может быть переопределен в подклассах.
-
EPOCH_DAY— если присутствует, преобразуется в дату, после чего все остальные поля даты сверяются с этой датой. -
PROLEPTIC_MONTH— если присутствует, разделяется наYEARиMONTH_OF_YEAR. В строгом или интеллектуальном режиме поле проверяется. -
YEAR_OF_ERAиERA— если присутствуют оба поля, они объединяются вYEAR. В нестрогом режиме диапазонYEAR_OF_ERAне проверяется, а в интеллектуальном и строгом режимах проверяется.ERAпроверяется на соответствие диапазону во всех трех режимах. Если присутствует толькоYEAR_OF_ERA, а режим интеллектуальный или нестрогий, предполагается последняя доступная эра. В строгом режиме эра не предполагается, аYEAR_OF_ERAостается без изменений. Если присутствует толькоERA, он остается без изменений. -
YEAR,MONTH_OF_YEARиDAY_OF_MONTH— если присутствуют все три поля, они объединяются для формирования даты. Во всех трех режимах проверяетсяYEAR. В интеллектуальном или строгом режиме проверяются месяц и день. В нестрогом режиме дата формируется так, как если бы сначала была создана дата первого дня первого месяца указанного года, затем добавлена разница в месяцах, а затем разница в днях. Если режим интеллектуальный и день месяца больше максимального значения для данного года и месяца, день месяца корректируется до последнего дня месяца. В строгом режиме три поля должны образовывать допустимую дату. -
YEARиDAY_OF_YEAR— если присутствуют оба поля, они объединяются для формирования даты. Во всех трех режимах проверяетсяYEAR. В нестрогом режиме дата формируется так, как если бы сначала была создана дата первого дня указанного года, а затем добавлена разница в днях. В интеллектуальном или строгом режиме два поля должны образовывать допустимую дату. -
YEAR,MONTH_OF_YEAR,ALIGNED_WEEK_OF_MONTHиALIGNED_DAY_OF_WEEK_IN_MONTH— если присутствуют все четыре поля, они объединяются для формирования даты. Во всех трех режимах проверяетсяYEAR. В нестрогом режиме дата формируется так, как если бы сначала была создана дата первого дня первого месяца указанного года, затем добавлена разница в месяцах, затем в неделях, а затем в днях. В интеллектуальном или строгом режиме все четыре поля проверяются на соответствие их внешним диапазонам. Затем дата формируется так, как если бы сначала была создана дата первого дня указанного года и месяца, а затем добавлено указанное количество недель и дней. В строгом режиме дополнительно проверяется, что корректировка дня и недели не изменила месяц. -
YEAR,MONTH_OF_YEAR,ALIGNED_WEEK_OF_MONTHиDAY_OF_WEEK— если присутствуют все четыре поля, они объединяются для формирования даты. Способ аналогичен описанному выше для лет, месяцев и недель вALIGNED_DAY_OF_WEEK_IN_MONTH. После обработки лет, месяцев и недель день недели корректируется до следующего совпадающего дня недели или остается без изменения, если уже совпадает. -
YEAR,ALIGNED_WEEK_OF_YEARиALIGNED_DAY_OF_WEEK_IN_YEAR— если присутствуют все три поля, они объединяются для формирования даты. Во всех трех режимах проверяетсяYEAR. В нестрогом режиме дата формируется так, как если бы сначала была создана дата первого дня указанного года, затем добавлена разница в неделях, а затем в днях. В интеллектуальном или строгом режиме все три поля проверяются на соответствие их внешним диапазонам. Затем дата формируется так, как если бы сначала была создана дата первого дня указанного года, а затем добавлено указанное количество недель и дней. В строгом режиме дополнительно проверяется, что корректировка дня и недели не изменила год. -
YEAR,ALIGNED_WEEK_OF_YEARиDAY_OF_WEEK— если присутствуют все три поля, они объединяются для формирования даты. Способ аналогичен описанному выше для лет и недель вALIGNED_DAY_OF_WEEK_IN_YEAR. После обработки лет и недель день недели корректируется до следующего совпадающего дня недели или остается без изменения, если уже совпадает.
Реализация по умолчанию подходит для большинства календарных систем. Если найдено ChronoField.YEAR_OF_ERA без ChronoField.ERA, используется последняя эра из Chronology.eras(). Реализация предполагает, что неделя состоит из 7 дней, значение первого дня месяца равно 1, значение первого дня года равно 1, а первый день месяца и года всегда существует.
- Определено в:
-
resolveDateв интерфейсеChronology - Параметры:
-
fieldValues— карта полей и значений, которую можно обновлять; не null -
resolverStyle— запрошенный тип разрешения; не null - Возвращает:
- разрешенную дату или null, если сведений недостаточно для создания даты
- Исключения:
-
DateTimeException— если дату невозможно разрешить, обычно из-за конфликта входных данных
compareTo
public int compareTo(Chronology other)
Порядок сравнения определяется сначала строкой идентификатора хронологии, а затем любыми дополнительными сведениями, специфичными для подкласса. Он «согласован с equals» в соответствии с определением Comparable.
- Определено в:
-
compareToв интерфейсеChronology - Определено в:
-
compareToв интерфейсеComparable<Chronology> - Требования к реализации:
- Эта реализация сравнивает идентификаторы хронологий. Подклассы должны сравнивать любые дополнительные хранимые данные.
- Параметры:
-
other— хронология для сравнения; не null - Возвращает:
- значение компаратора, то есть результат сравнения строки идентификатора этой хронологии со строкой идентификатора
other
equals
public boolean equals(Object obj)
Сравнение выполняется на основе всего состояния объекта.
- Определено в:
-
equalsв интерфейсеChronology - Переопределяет:
-
equalsв классеObject - Требования к реализации:
- Эта реализация проверяет тип и вызывает
compareTo(java.time.chrono.Chronology). - Параметры:
-
obj— проверяемый объект; null возвращает false - Возвращает:
- true, если эта хронология равна другой хронологии
- См. также:
hashCode
public int hashCode()
Хэш-код должен быть основан на всем состоянии объекта.
- Определено в:
-
hashCodeв интерфейсеChronology - Переопределяет:
-
hashCodeв классеObject - Требования к реализации:
- Эта реализация основана на идентификаторе и классе хронологии. Подклассы должны добавлять любые дополнительные хранимые данные.
- Возвращает:
- подходящий хэш-код
- См. также:
toString
public String toString()
String, используя идентификатор хронологии.- Определено в:
-
toStringв интерфейсеChronology - Переопределяет:
-
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.