Интерфейс Chronology

Все суперинтерфейсы:
Comparable<Chronology>
Все известные реализующие классы:
AbstractChronology, HijrahChronology, IsoChronology, JapaneseChronology, MinguoChronology, ThaiBuddhistChronology
public interface Chronology
extends Comparable<Chronology>

Система календаря, используемая для организации и идентификации дат.

Основной API для дат и времени построен на системе календаря ISO. Хронология работает в фоновом режиме, представляя общее понятие системы календаря. Например, японский, Мингуо, тайский буддистский и другие.

Большинство других систем календарей также работают на общих понятиях года, месяца и дня, связанных с циклами Земли вокруг Солнца и Луны вокруг Земли. Эти общие понятия определены в ChronoField и доступны для использования любой реализацией Chronology:

LocalDate isoDate = ...
   ThaiBuddhistDate thaiDate = ...
   int isoYear = isoDate.get(ChronoField.YEAR);
   int thaiYear = thaiDate.get(ChronoField.YEAR);
Как показано, хотя объекты даты находятся в разных системах календаря, представленных различными экземплярами Chronology, оба могут быть запрошены с использованием одной и той же константы в ChronoField. Для полного обсуждения последствий этого см. ChronoLocalDate. В целом рекомендуется использовать известную систему ISO LocalDate, а не ChronoLocalDate.

Хотя объект Chronology обычно использует ChronoField и основан на модели даты «эра, год-эры, месяц-года, день-месяца», это не обязательно. Экземпляр Chronology может представлять совершенно другой вид системы календаря, например, майя.

В практическом плане экземпляр Chronology также действует как фабрика. Метод of(String) позволяет получить экземпляр по идентификатору, а метод ofLocale(Locale) позволяет выполнить поиск по локали.

Экземпляр Chronology предоставляет набор методов для создания экземпляров ChronoLocalDate. Классы дат используются для манипулирования конкретными датами.

Добавление новых календарей

Набор доступных хронологий может быть расширен приложениями. Добавление новой системы календаря требует написания реализации Chronology, ChronoLocalDate и Era. Большая часть логики, специфичной для системы календаря, будет находиться в реализации ChronoLocalDate. Реализация Chronology действует как фабрика.

Для поиска дополнительных хронологий используется ServiceLoader. В директорию META-INF/services необходимо добавить файл с именем 'java.time.chrono.Chronology', в котором перечислены классы реализации. Для получения дополнительной информации о загрузке сервиса см. ServiceLoader. При поиске по идентификатору или типу календаря сначала находятся предоставляемые системой календари, а затем — предоставляемые приложением.

Каждая хронология должна определять идентификатор хронологии, уникальный в системе. Если хронология представляет систему календаря, определенную спецификацией CLDR, то тип календаря — это конкатенация типа CLDR и, при необходимости, варианта CLDR.

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

Методы

Модификатор и тип Метод Описание
int compareTo​(Chronology other)

Сравнивает эту хронологию с другой хронологией.

ChronoLocalDate date​(int prolepticYear, int month, int dayOfMonth)

Получает локальную дату в этой хронологии из пролептических года, месяца и дня.

default ChronoLocalDate date​(Era era, int yearOfEra, int month, int dayOfMonth)

Получает локальную дату в этой хронологии из эры, года эры, месяца и дня.

ChronoLocalDate date​(TemporalAccessor temporal)

Получает локальную дату в этой хронологии из другого временного объекта.

ChronoLocalDate dateEpochDay​(long epochDay)

Получает локальную дату в этой хронологии из дня эпохи.

default ChronoLocalDate dateNow()

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

default ChronoLocalDate dateNow​(Clock clock)

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

default ChronoLocalDate dateNow​(ZoneId zone)

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

ChronoLocalDate dateYearDay​(int prolepticYear, int dayOfYear)

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

default ChronoLocalDate dateYearDay​(Era era, int yearOfEra, int dayOfYear)

Получает локальную дату в этой хронологии из эры, года эры и дня года.

default long epochSecond​(int prolepticYear, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset)

Получает количество секунд с эпохи 1970-01-01T00:00:00Z.

default long epochSecond​(Era era, int yearOfEra, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset)

Получает количество секунд с эпохи 1970-01-01T00:00:00Z.

boolean equals​(Object obj)

Проверяет, равна ли эта хронология другой хронологии.

Era eraOf​(int eraValue)

Создает объект эры хронологии из числового значения.

List<Era> eras()

Получает список эр для хронологии.

static Chronology from​(TemporalAccessor temporal)

Получает экземпляр Chronology из временного объекта.

static Set<Chronology> getAvailableChronologies()

Возвращает доступные хронологии.

String getCalendarType()

Получает тип календаря системы календаря.

default String getDisplayName​(TextStyle style, Locale locale)

Получает текстовое представление этой хронологии.

String getId()

Получает идентификатор хронологии.

int hashCode()

Хеш-код для этой хронологии.

boolean isLeapYear​(long prolepticYear)

Проверяет, является ли указанный год високосным.

default ChronoLocalDateTime<? extends ChronoLocalDate> localDateTime​(TemporalAccessor temporal)

Получает локальное время-дату в этой хронологии из другого временного объекта.

static Chronology of​(String id)

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

static Chronology ofLocale​(Locale locale)

Получает экземпляр Chronology по локали.

default ChronoPeriod period​(int years, int months, int days)

Получает период для этой хронологии, основанный на годах, месяцах и днях.

int prolepticYear​(Era era, int yearOfEra)

Вычисляет пролептический год, учитывая эру и год эры.

ValueRange range​(ChronoField field)

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

ChronoLocalDate resolveDate​(Map<TemporalField,​Long> fieldValues, ResolverStyle resolverStyle)

Разрешает значения ChronoField, проанализированные во время разбора, в дату.

String toString()

Выводит эту хронологию в виде String.

default ChronoZonedDateTime<? extends ChronoLocalDate> zonedDateTime​(Instant instant, ZoneId zone)

Получает ChronoZonedDateTime в этой хронологии из Instant.

default ChronoZonedDateTime<? extends ChronoLocalDate> zonedDateTime​(TemporalAccessor temporal)

Получает ChronoZonedDateTime в этой хронологии из другого временного объекта.

Методы

from

static Chronology from(TemporalAccessor temporal)

Получает экземпляр Chronology из временного объекта.

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

Преобразование будет получать хронологию, используя TemporalQueries.chronology(). Если у указанного временного объекта нет хронологии, возвращается IsoChronology.

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

Параметры:
temporal - преобразуемый временной объект, не null
Возвращает:
хронологию, не null
Исключение:
DateTimeException - если невозможно преобразовать во временной объект Chronology

ofLocale

static Chronology ofLocale(Locale locale)

Получает экземпляр Chronology из локали.

Это возвращает хронологию на основе указанной локали, обычно возвращая IsoChronology. Другие календарные системы возвращаются только в том случае, если они явным образом выбраны в локали.

Класс Locale предоставляет доступ к широкому спектру информации, полезной для локализации приложения. В него входят язык и регион, например, "en-GB" для английского языка, используемого в Великобритании.

Класс Locale также поддерживает механизм расширения, который можно использовать для идентификации календарной системы. Механизм представляет собой набор пар "ключ-значение", где календарная система имеет ключ "ca". Например, локали "en-JP-u-ca-japanese" представляет английский язык, используемый в Японии с японской календарной системой.

Этот метод находит желаемую календарную систему, аналогично передаче "ca" в Locale.getUnicodeLocaleType(String). Если ключ "ca" отсутствует, возвращается IsoChronology.

Обратите внимание, что поведение этого метода отличается от более старого метода Calendar.getInstance(Locale). Если этот метод получает локаль "th_TH", он вернёт BuddhistCalendar. В то же время, этот метод вернёт IsoChronology. Передача локали "th-TH-u-ca-buddhist" в любой из методов приведет к возврату тайской буддийской календарной системы, что является рекомендуемым подходом для локализации тайской календарной системы в дальнейшем.

Аналогичная, но более простая ситуация происходит с японской календарной системой. Ранее локаль "jp_JP_JP" использовалась для доступа к календарю. Однако, в отличие от тайской локали, "ja_JP_JP" автоматически преобразуется Locale в современную и рекомендуемую форму "ja-JP-u-ca-japanese". Таким образом, нет разницы в поведении между этим методом и Calendar#getInstance(Locale).

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

of

static Chronology of(String id)

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

Возвращает хронологию на основе либо идентификатора, либо типа. chronology ID однозначно идентифицирует хронологию. calendar system type определяется спецификацией CLDR.

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

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

Параметры:
id - идентификатор хронологии или тип календарной системы, не null
Возвращает:
хронология с запрошенным идентификатором, не null
Исключение:
DateTimeException - если хронология не найдена

getAvailableChronologies

static Set<Chronology> getAvailableChronologies()

Возвращает доступные хронологии.

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

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

getId

String getId()

Возвращает идентификатор хронологии.

Идентификатор однозначно идентифицирует Chronology. Он может использоваться для поиска Chronology с помощью of(String).

Возвращает:
идентификатор хронологии, не null
См. также:
getCalendarType()

getCalendarType

String getCalendarType()

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

Тип календаря — это идентификатор, определённый спецификациями CLDR и Unicode Locale Data Markup Language (LDML), уникально идентифицирующий календарь. getCalendarType — это конкатенация типа календаря CLDR и варианта, если применимо, добавляется разделенный дефисом. Тип календаря используется для поиска Chronology с помощью of(String).

Возвращает:
тип календарной системы, null, если календарь не определен CLDR/LDML
См. также:
getId()

date

default ChronoLocalDate date(Era era,
                             int yearOfEra,
                             int month,
                             int dayOfMonth)

Получает локальную дату в этой хронологии по эпохе, году эпохи, месяцу и дню месяца.

Требования к реализации:
Стандартная реализация объединяет эпоху и год эпохи в пролептический год, прежде чем вызывать date(int, int, int).
Параметры:
era - эпоха, соответствующая типу хронологии, не null
yearOfEra - год хронологии
month - месяц хронологии
dayOfMonth - день месяца хронологии
Возвращает:
локальную дату в этой хронологии, не null
Исключение:
DateTimeException - если невозможно создать дату
ClassCastException - если эпоха не соответствует типу хронологии

date

ChronoLocalDate date(int prolepticYear,
                     int month,
                     int dayOfMonth)

Получает локальную дату в этой хронологии по пролептическому году, месяцу и дню.

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

dateYearDay

default ChronoLocalDate dateYearDay(Era era,
                                    int yearOfEra,
                                    int dayOfYear)

Получает локальную дату в этой хронологии по эпохе, году эпохи и дню года.

Требования к реализации:
Стандартная реализация объединяет эпоху и год эпохи в пролептический год, прежде чем вызывать dateYearDay(int, int).
Параметры:
era - эпоха, соответствующая типу хронологии, не null
yearOfEra - год эпохи хронологии
dayOfYear - день года хронологии
Возвращает:
локальную дату в этой хронологии, не null
Исключение:
DateTimeException - если невозможно создать дату
ClassCastException - если эпоха не соответствует типу хронологии

dateYearDay

ChronoLocalDate dateYearDay(int prolepticYear,
                            int dayOfYear)

Получает локальную дату в этой хронологии по пролептическому году и дню года.

Параметры:
prolepticYear - пролептический год хронологии
dayOfYear - день года хронологии
Возвращает:
локальную дату в этой хронологии, не null
Исключение:
DateTimeException - если невозможно создать дату

dateEpochDay

ChronoLocalDate dateEpochDay(long epochDay)

Получает локальную дату в этой хронологии по эпохе.

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

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

dateNow

default ChronoLocalDate dateNow()

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

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

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

Требования к реализации:
Стандартная реализация вызывает dateNow(Clock).
Возвращает:
текущую локальную дату, используя системные часы и часовой пояс по умолчанию, не null
Исключение:
DateTimeException - если невозможно создать дату

dateNow

default ChronoLocalDate dateNow(ZoneId zone)

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

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

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

Требования к реализации:
Стандартная реализация вызывает dateNow(Clock).
Параметры:
zone - идентификатор часового пояса, не null
Возвращает:
текущую локальную дату, используя системные часы, не null
Исключение:
DateTimeException - если невозможно создать дату

dateNow

default ChronoLocalDate dateNow(Clock clock)

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

Это обратится к указанным часам, чтобы получить текущую дату — сегодняшний день. Использование этого метода позволяет использовать альтернативные часы для тестирования. Альтернативные часы могут быть введены с помощью dependency injection.

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

date

ChronoLocalDate date(TemporalAccessor temporal)

Получает локальную дату в этой хронологии из другого временного объекта.

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

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

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

Параметры:
temporal - временной объект для преобразования, не null
Возвращает:
локальную дату в этой хронологии, не null
Выбрасывает:
DateTimeException - если дату создать невозможно
См. также:
ChronoLocalDate.from(TemporalAccessor)

localDateTime

default ChronoLocalDateTime<? extends ChronoLocalDate> localDateTime(TemporalAccessor temporal)

Получает локальное время и дату в этой хронологии из другого временного объекта.

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

Преобразование извлекает и объединяет ChronoLocalDate и LocalTime из временного объекта. Реализации разрешено выполнять оптимизации, такие как доступ к тем полям, которые эквивалентны соответствующим объектам. Результат использует эту хронологию.

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

Параметры:
temporal - временной объект для преобразования, не null
Возвращает:
локальное время и дату в этой хронологии, не null
Выбрасывает:
DateTimeException - если время и дату создать невозможно
См. также:
ChronoLocalDateTime.from(TemporalAccessor)

zonedDateTime

default ChronoZonedDateTime<? extends ChronoLocalDate> zonedDateTime(TemporalAccessor temporal)

Получает ChronoZonedDateTime в этой хронологии из другого временного объекта.

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

Преобразование сначала получит ZoneId из временного объекта, переходя к ZoneOffset при необходимости. Затем оно попытается получить Instant, переходя к ChronoLocalDateTime при необходимости. Результат будет либо комбинацией ZoneId или ZoneOffset с Instant или ChronoLocalDateTime. Реализации разрешено выполнять оптимизации, такие как доступ к тем полям, которые эквивалентны соответствующим объектам. Результат использует эту хронологию.

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

Параметры:
temporal - временной объект для преобразования, не null
Возвращает:
временную зону даты и времени в этой хронологии, не null
Выбрасывает:
DateTimeException - если время и дату создать невозможно
См. также:
ChronoZonedDateTime.from(TemporalAccessor)

zonedDateTime

default ChronoZonedDateTime<? extends ChronoLocalDate> zonedDateTime(Instant instant,
                                                                     ZoneId zone)

Получает ChronoZonedDateTime в этой хронологии из Instant.

Это получает временную зону даты и времени с тем же мгновением времени, что и указано.

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

isLeapYear

boolean isLeapYear(long prolepticYear)

Проверяет, является ли указанный год високосным.

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

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

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

Параметры:
prolepticYear - пролептический год для проверки, диапазон не проверяется
Возвращает:
true, если год високосный

prolepticYear

int prolepticYear(Era era,
                  int yearOfEra)

Вычисляет пролептический год, учитывая эру и год эры.

Это объединяет эру и год эры в одно поле пролептического года.

Если хронология активно использует эры, такие как JapaneseChronology, то год эры будет проверен по отношению к эре. Для других хронологий проверка необязательна.

Параметры:
era - эра правильного типа для хронологии, не null
yearOfEra - год хронологии эры
Возвращает:
пролептический год
Выбрасывает:
DateTimeException - если невозможно преобразовать в пролептический год, например, если год недействителен для эры
ClassCastException - если era не является объектом правильного типа для хронологии

eraOf

Era eraOf(int eraValue)

Создаёт объект эры хронологии из числового значения.

Эра, концептуально, является крупнейшим разделением временной линии. Большинство систем календаря имеют одну эпоху, разделяющую временную линию на две эры. Однако некоторые имеют несколько эр, например, по одной для правления каждого лидера. Точное значение определяется хронологией в соответствии со следующими ограничениями.

Эра, используемая в 1970-01-01, должна иметь значение 1. Более поздние эры должны иметь последовательно более высокие значения. Более ранние эры должны иметь последовательно более низкие значения. Каждая хронология должна ссылаться на перечисление или аналогичный синглтон для предоставления значений эры.

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

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

eras

List<Era> eras()

Получает список эр для хронологии.

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

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

range

ValueRange range(ChronoField field)

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

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

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

Этот метод вернёт результат, поддерживает ли хронология поле или нет.

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

getDisplayName

default String getDisplayName(TextStyle style,
                              Locale locale)

Получает текстовое представление этой хронологии.

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

Требования к реализации:
По умолчанию реализация ведет себя так, как будто форматировщик использовался для форматирования текстового имени хронологии.
Параметры:
style - требуемый стиль текста, не null
locale - используемый язык, не null
Возвращает:
текстовое значение хронологии, не null

resolveDate

ChronoLocalDate resolveDate(Map<TemporalField,​Long> fieldValues,
                            ResolverStyle resolverStyle)

Разрешает значения разбора ChronoField в дату во время разбора.

Большинство реализаций TemporalField разрешаются с помощью метода resolve для поля. В противоположность этому, класс ChronoField определяет поля, которые имеют смысл только относительно хронологии. Таким образом, поля даты ChronoField разрешаются здесь в контексте конкретной хронологии.

В стандартной реализации, которая объясняет типичное поведение resolve, представлено в AbstractChronology.

Параметры:
fieldValues - карта полей со значениями, которая может быть обновлена, не null
resolverStyle - запрашиваемый тип разрешения, не null
Возвращает:
разрешенная дата, null, если недостаточно информации для создания даты
Выбрасывает:
DateTimeException - если дату нельзя разрешить, обычно из-за конфликта в входных данных

period

default ChronoPeriod period(int years,
                            int months,
                            int days)

Получение периода для данной хронологии на основе года, месяца и дня.

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

Требования к реализации:
По умолчанию реализация возвращает класс реализации, подходящий для большинства систем календарей. Он основан только на трех единицах. Нормализация, сложение и вычитание определяют количество месяцев в году из range(ChronoField). Если количество месяцев в году фиксировано, то подход к вычислению сложения, вычитания и нормализации немного отличается.

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

Возвращаемый период неизменяемый и потокобезопасный.

Параметры:
years - количество лет, может быть отрицательным
months - количество лет, может быть отрицательным
days - количество лет, может быть отрицательным
Возвращаемое значение:
период в терминах данной хронологии, не null

epochSecond

default long epochSecond(int prolepticYear,
                         int month,
                         int dayOfMonth,
                         int hour,
                         int minute,
                         int second,
                         ZoneOffset zoneOffset)

Получение количества секунд с эпохи 1970-01-01T00:00:00Z.

Количество секунд вычисляется с использованием пролептического года, месяца, дня месяца, часа, минуты, секунды и часового смещения.

Параметры:
prolepticYear - пролептический год хронологии
month - месяц года хронологии
dayOfMonth - день месяца хронологии
hour - час дня, от 0 до 23
minute - минута часа, от 0 до 59
second - секунда минуты, от 0 до 59
zoneOffset - часовой сдвиг, не null
Возвращаемое значение:
количество секунд относительно 1970-01-01T00:00:00Z, может быть отрицательным
Исключения:
DateTimeException - если какое-либо из значений находится вне допустимого диапазона
С тех пор:
9

epochSecond

default long epochSecond(Era era,
                         int yearOfEra,
                         int month,
                         int dayOfMonth,
                         int hour,
                         int minute,
                         int second,
                         ZoneOffset zoneOffset)

Получение количества секунд с эпохи 1970-01-01T00:00:00Z.

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

Параметры:
era - эра корректного типа для хронологии, не null
yearOfEra - год эры хронологии
month - месяц года хронологии
dayOfMonth - день месяца хронологии
hour - час дня, от 0 до 23
minute - минута часа, от 0 до 59
second - секунда минуты, от 0 до 59
zoneOffset - часовой сдвиг, не null
Возвращаемое значение:
количество секунд относительно 1970-01-01T00:00:00Z, может быть отрицательным
Исключения:
DateTimeException - если какое-либо из значений находится вне допустимого диапазона
С тех пор:
9

compareTo

int compareTo(Chronology other)

Сравнение данной хронологии с другой хронологией.

Порядок сравнения сначала по строке идентификатора хронологии, а затем по любой дополнительной информации, специфичной для подкласса. Он «согласуется с equals», как определено в Comparable.

Унаследовано от:
compareTo в интерфейсе Comparable<Chronology>
Параметры:
other - другая хронология для сравнения, не null
Возвращаемое значение:
значение компаратора, отрицательное, если меньше, положительное, если больше

equals

boolean equals(Object obj)

Проверка, равна ли данная хронология другой хронологии.

Сравнение основано на полном состоянии объекта.

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

hashCode

int hashCode()

Хеш-код для данной хронологии.

Хеш-код должен основываться на полном состоянии объекта.

Переопределяет:
hashCode в классе Object
Возвращаемое значение:
подходящий хеш-код
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

String toString()

Вывод данной хронологии в виде String.

Формат должен включать все состояние объекта.

Переопределяет:
toString в классе Object
Возвращаемое значение:
строковое представление данной хронологии, не null

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/chrono/Chronology.html

Spec-Zone .ru
спецификации, руководства, описания, API