Интерфейс 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. Классы дат используются для манипулирования конкретными датами.
-
dateNow() -
dateNow(clock) -
dateNow(zone) -
date(yearProleptic, month, day) -
date(era, yearOfEra, month, day) -
dateYearDay(yearProleptic, dayOfYear) -
dateYearDay(era, yearOfEra, dayOfYear) -
date(TemporalAccessor)
Добавление новых календарей
Набор доступных хронологий может быть расширен приложениями. Добавление новой системы календаря требует написания реализации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) | Получает экземпляр |
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) | Получает экземпляр |
static Chronology | ofLocale(Locale locale) | Получает экземпляр |
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) | Разрешает значения |
String | toString() | Выводит эту хронологию в виде |
default ChronoZonedDateTime<? extends ChronoLocalDate> | zonedDateTime(Instant instant,
ZoneId zone) | Получает |
default ChronoZonedDateTime<? extends ChronoLocalDate> | zonedDateTime(TemporalAccessor temporal) | Получает |
Методы
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.
Формат должен включать все состояние объекта.
© 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