Spec-Zone.ru › OpenJDK 21

Класс IsoChronology

java.lang.Object
java.time.chrono.AbstractChronology
java.time.chrono.IsoChronology
Все реализованные интерфейсы:
Serializable, Comparable<Chronology>, Chronology
public final class IsoChronology extends AbstractChronology implements Serializable
Система календаря ISO.

Этот хронологический объект определяет правила системы календаря ISO. Эта система календаря основана на стандарте ISO-8601, который является фактическим мировым календарем.

Поля определены следующим образом:

  • эра - Существуют две эры: «Настоящая эра» (CE) и «Эра до настоящей эры» (BCE).
  • год-эры - Год-эры совпадает с пролептическим годом для текущей эры CE. Для эры BCE до эпохи ISO год увеличивается с 1 по мере продвижения назад во времени.
  • пролептический год - Пролептический год совпадает с годом-эры для текущей эры. Для предыдущей эры годы имеют значения ноль, а затем отрицательные.
  • месяц-года - В году ISO 12 месяцев, пронумерованных от 1 до 12.
  • день-месяца - В каждом месяце ISO от 28 до 31 дня, пронумерованные от 1 до 31. В месяцах 4, 6, 9 и 11 по 30 дней, а в месяцах 1, 3, 5, 7, 8, 10 и 12 по 31 дню. В месяце 2 28 дней, или 29 в високосный год.
  • день-года - В стандартном году ISO 365 дней, а в високосном - 366. Дни пронумерованы от 1 до 365 или от 1 до 366.
  • високосный год - Високосные годы происходят каждые 4 года, за исключением случаев, когда год делится на 100 и не делится на 400.
Требования к реализации:
Этот класс неизменяемый и потокобезопасный.
С:
1.8
См. также:
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final IsoChronology INSTANCE
Единственный экземпляр хронологии ISO.

Краткое описание методов

Модификатор и тип Метод Описание
LocalDate date(int prolepticYear, int month, int dayOfMonth)
Получение локальной даты ISO из полей пролептического года, месяца и дня.
LocalDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Получение локальной даты ISO из полей эры, года эры, месяца и дня.
LocalDate date(TemporalAccessor temporal)
Получение локальной даты ISO из другого объекта даты и времени.
LocalDate dateEpochDay(long epochDay)
Получение локальной даты ISO из эпохи дней.
LocalDate dateNow()
Получение текущей локальной даты ISO с использованием системных часов в часовом поясе по умолчанию.
LocalDate dateNow(Clock clock)
Получение текущей локальной даты ISO с использованием указанных часов.
LocalDate dateNow(ZoneId zone)
Получение текущей локальной даты ISO с использованием системных часов в указанном часовом поясе.
LocalDate dateYearDay(int prolepticYear, int dayOfYear)
Получение локальной даты ISO из полей пролептического года и дня года.
LocalDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
Получение локальной даты ISO из полей эры, года эры и дня года.
long epochSecond(int prolepticYear, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset)
Получение количества секунд с эпохи 1970-01-01T00:00:00Z.
IsoEra eraOf(int eraValue)
Создание объекта эры хронологии из числового значения.
List<Era> eras()
Получение списка эр для хронологии.
String getCalendarType()
Получение типа календаря базовой системы календаря - 'iso8601'.
String getId()
Получение идентификатора хронологии - 'ISO'.
boolean isIsoBased()
IsoChronology — это хронология на основе ISO, которая поддерживает поля в IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR.
boolean isLeapYear(long prolepticYear)
Проверка, является ли год високосным, согласно правилам пролептической календарной системы ISO.
LocalDateTime localDateTime(TemporalAccessor temporal)
Получение локального объекта даты и времени ISO из другого объекта даты и времени.
Period period(int years, int months, int days)
Получение периода для этой хронологии на основе лет, месяцев и дней.
int prolepticYear(Era era, int yearOfEra)
Вычисление пролептического года, заданного эрой и годом эры.
ValueRange range(ChronoField field)
Получение диапазона допустимых значений для указанного поля.
LocalDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
Разрешение проанализированных ChronoField значений в дату во время разбора.
ZonedDateTime zonedDateTime(Instant instant, ZoneId zone)
Получение часового пояса ISO объекта даты и времени в этой хронологии из Instant.
ZonedDateTime zonedDateTime(TemporalAccessor temporal)
Получение часового пояса ISO объекта даты и времени из другого объекта даты и времени.

Методы, объявленные в классе java.time.chrono.AbstractChronology

compareTo, equals, hashCode, toString

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе java.time.chrono.Chronology

epochSecond, getDisplayName

Подробное описание полей

INSTANCE

public static final IsoChronology INSTANCE
Экземпляр-синглтон хронологии ISO.

Подробное описание методов

getId

public String getId()
Возвращает идентификатор хронологии — 'ISO'.

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

Определено в:
getId в интерфейсе Chronology
Возвращает:
идентификатор хронологии — 'ISO'
См. также:
  • getCalendarType()

getCalendarType

public String getCalendarType()
Возвращает тип календаря базовой системы календаря — 'iso8601'.

Тип календаря — идентификатор, определённый спецификацией Unicode Locale Data Markup Language (LDML). Его можно использовать для поиска хронологии с помощью Chronology.of(String). Его также можно использовать в качестве части локали, доступной через Locale.getUnicodeLocaleType(String) с ключом 'ca'.

Определено в:
getCalendarType в интерфейсе Chronology
Возвращает:
тип системы календаря — 'iso8601'
См. также:
  • getId()

date

public LocalDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Получает локальную дату ISO по эпохе, году эпохи, месяцу и дню месяца.
Определено в:
date в интерфейсе Chronology
Параметры:
era — эпоха ISO, не null
yearOfEra — год эпохи ISO
month — месяц ISO
dayOfMonth — день месяца ISO
Возвращает:
локальная дата ISO, не null
Исключения:
DateTimeException — если дату создать невозможно
ClassCastException — если тип era не IsoEra

date

public LocalDate date(int prolepticYear, int month, int dayOfMonth)
Получает локальную дату ISO по пролептическому году, месяцу и дню месяца.

Эквивалентно LocalDate.of(int, int, int).

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

dateYearDay

public LocalDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
Получает локальную дату ISO по эпохе, году эпохи и дню года.
Определено в:
dateYearDay в интерфейсе Chronology
Параметры:
era — эпоха ISO, не null
yearOfEra — год эпохи ISO
dayOfYear — день года ISO
Возвращает:
локальная дата ISO, не null
Исключения:
DateTimeException — если дату создать невозможно

dateYearDay

public LocalDate dateYearDay(int prolepticYear, int dayOfYear)
Получает локальную дату ISO по пролептическому году и дню года.

Эквивалентно LocalDate.ofYearDay(int, int).

Определено в:
dateYearDay в интерфейсе Chronology
Параметры:
prolepticYear — пролептический год ISO
dayOfYear — день года ISO
Возвращает:
локальная дата ISO, не null
Исключения:
DateTimeException — если дату создать невозможно

dateEpochDay

public LocalDate dateEpochDay(long epochDay)
Получает локальную дату ISO по эпохе.

Эквивалентно LocalDate.ofEpochDay(long).

Определено в:
dateEpochDay в интерфейсе Chronology
Параметры:
epochDay — день эпохи
Возвращает:
локальная дата ISO, не null
Исключения:
DateTimeException — если дату создать невозможно

date

public LocalDate date(TemporalAccessor temporal)
Получает локальную дату ISO из другого объекта даты и времени.

Эквивалентно LocalDate.from(TemporalAccessor).

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

epochSecond

public long epochSecond(int prolepticYear, int month, int dayOfMonth, int hour, int minute, int second, ZoneOffset zoneOffset)
Получает количество секунд от эпохи 1970-01-01T00:00:00Z.

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

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

localDateTime

public LocalDateTime localDateTime(TemporalAccessor temporal)
Получает локальное время ISO из другого объекта даты и времени.

Эквивалентно LocalDateTime.from(TemporalAccessor).

Определено в:
localDateTime в интерфейсе Chronology
Параметры:
temporal — объект даты и времени для преобразования, не null
Возвращает:
локальное время ISO, не null
Исключения:
DateTimeException — если время создать невозможно
См. также:
  • ChronoLocalDateTime.from(TemporalAccessor)

zonedDateTime

public ZonedDateTime zonedDateTime(TemporalAccessor temporal)
Получает часовое время ISO из другого объекта даты и времени.

Эквивалентно ZonedDateTime.from(TemporalAccessor).

Определено в:
zonedDateTime в интерфейсе Chronology
Параметры:
temporal — объект даты и времени для преобразования, не null
Возвращает:
часовое время ISO, не null
Исключения:
DateTimeException — если время создать невозможно
См. также:
  • ChronoZonedDateTime.from(TemporalAccessor)

zonedDateTime

public ZonedDateTime zonedDateTime(Instant instant, ZoneId zone)
Получает часовое время ISO в данной хронологии из момента времени.

Эквивалентно ZonedDateTime.ofInstant(Instant, ZoneId).

Определено в:
zonedDateTime в интерфейсе Chronology
Параметры:
instant — момент времени для создания времени, не null
zone — часовой пояс, не null
Возвращает:
часовое время, не null
Исключения:
DateTimeException — если результат выходит за поддерживаемый диапазон

dateNow

public LocalDate dateNow()
Получает текущую локальную дату ISO с помощью системных часов в стандартном часовом поясе.

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

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

Определено в:
dateNow в интерфейсе Chronology
Возвращает:
текущую локальную дату ISO с использованием системных часов и стандартного часового пояса, не null
Исключения:
DateTimeException — если дату создать невозможно

dateNow

public LocalDate dateNow(ZoneId zone)
Получает текущую локальную дату ISO из системных часов в указаной часовой зоне.

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

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

Specified by:
dateNow в интерфейсе Chronology
Parameters:
zone - идентификатор зоны, который необходимо использовать, не null
Returns:
текущая локальная дата ISO, используя системные часы, не null
Throws:
DateTimeException - если невозможно создать дату

dateNow

public LocalDate dateNow(Clock clock)
Получает текущую локальную дату ISO из указанных часов.

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

Specified by:
dateNow в интерфейсе Chronology
Parameters:
clock - часы для использования, не null
Returns:
текущая локальная дата ISO, не null
Throws:
DateTimeException - если невозможно создать дату

isLeapYear

public boolean isLeapYear(long prolepticYear)
Проверяет, является ли год високосным, согласно правилам ISO пролептического календарной системы.

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

Например, 1904 год является високосным, так как он делится на 4. 1900 год не был високосным, так как он делится на 100, однако 2000 год был високосным, так как он делится на 400.

Вычисление пролептическое - применяются те же правила в далеком будущем и далеком прошлом. Это исторически неточно, но правильно для стандарта ISO-8601.

Specified by:
isLeapYear в интерфейсе Chronology
Parameters:
prolepticYear - проверяемый ISO пролептический год
Returns:
true, если год високосный, false в противном случае

prolepticYear

public int prolepticYear(Era era, int yearOfEra)
Описание скопировано из интерфейса: Chronology
Вычисляет пролептический год, учитывая эру и год эры.

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

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

Specified by:
prolepticYear в интерфейсе Chronology
Parameters:
era - эра правильного типа для хронологии, не null
yearOfEra - год хронологии эры
Returns:
пролептический год

eraOf

public IsoEra eraOf(int eraValue)
Описание скопировано из интерфейса: Chronology
Создает объект эры хронологии из числового значения.

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

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

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

Specified by:
eraOf в интерфейсе Chronology
Parameters:
eraValue - значение эры
Returns:
эра календарной системы, не null

eras

public List<Era> eras()
Описание скопировано из интерфейса: Chronology
Получает список эр для хронологии.

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

Specified by:
eras в интерфейсе Chronology
Returns:
список эр для хронологии, может быть неизменяемым, не null

resolveDate

public LocalDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
Разрешает проанализированные ChronoField значения в дату во время разбора.

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

Экземпляры ChronoField в системе ISO календаря разрешаются следующим образом.

  • EPOCH_DAY - Если присутствует, это преобразуется в LocalDate, и все остальные поля даты затем проверяются на соответствие дате.
  • PROLEPTIC_MONTH - Если присутствует, то он разделяется на YEAR и MONTH_OF_YEAR. Если режим строгий или интеллектуальный, то поле проверяется.
  • YEAR_OF_ERA и ERA - Если оба присутствуют, то они объединяются, чтобы сформировать YEAR. В режиме мягкого режима, диапазон YEAR_OF_ERA не проверяется, в режиме интеллектуального и строгого режима он проверяется. Диапазон ERA проверяется во всех трех режимах. Если присутствует только YEAR_OF_ERA, и режим интеллектуальный или мягкий, то предполагается текущая эра (CE/AD). В строгом режиме не предполагается никакой эры, и YEAR_OF_ERA остается без изменений. Если присутствует только ERA, то он остается без изменений.
  • YEAR, MONTH_OF_YEAR и DAY_OF_MONTH - Если все три присутствуют, то они объединяются, чтобы сформировать LocalDate. Во всех трех режимах YEAR проверяется. Если режим интеллектуальный или строгий, то месяц и день проверяются, причем день проверяется от 1 до 31. Если режим мягкий, то дата объединяется так, как если бы она создавалась первого января в запрошенном году, затем добавляется разница в месяцах, затем разница в днях. Если режим интеллектуальный, и день месяца больше максимального значения для года-месяца, то день месяца корректируется до последнего дня месяца. Если режим строгий, то три поля должны сформировать допустимую дату.
  • YEAR и DAY_OF_YEAR - Если оба присутствуют, то они объединяются, чтобы сформировать LocalDate. Во всех трех режимах YEAR проверяется. Если режим мягкий, то дата объединяется так, как если бы она создавалась первого января в запрошенном году, затем добавляется разница в днях. Если режим интеллектуальный или строгий, то два поля должны образовывать допустимую дату.
  • YEAR, MONTH_OF_YEAR, ALIGNED_WEEK_OF_MONTH и ALIGNED_DAY_OF_WEEK_IN_MONTH - Если все четыре присутствуют, то они объединяются, чтобы сформировать LocalDate. Во всех трех режимах YEAR проверяется. Если режим мягкий, то дата объединяется так, как если бы она создавалась первого января в запрошенном году, затем добавляется разница в месяцах, затем в неделях, затем в днях. Если режим интеллектуальный или строгий, то все четыре поля проверяются на соответствие внешним диапазонам. Затем дата объединяется так, как если бы она создавалась первого числа запрошенного года и месяца, затем добавлялось количество недель и дней, чтобы достичь их значений. Если режим строгий, дата дополнительно проверяется, чтобы убедиться, что корректировка дня и недели не изменила месяц.
  • YEAR, MONTH_OF_YEAR, ALIGNED_WEEK_OF_MONTH и DAY_OF_WEEK - Если все четыре присутствуют, то они объединяются, чтобы сформировать LocalDate. Подход такой же, как описано выше для лет, месяцев и недель в ALIGNED_DAY_OF_WEEK_IN_MONTH. День недели корректируется как следующий или такой же совпадающий день недели, как только года, месяца и недели были обработаны.
  • YEAR, ALIGNED_WEEK_OF_YEAR и ALIGNED_DAY_OF_WEEK_IN_YEAR - Если все три присутствуют, то они объединяются, чтобы сформировать LocalDate. Во всех трех режимах YEAR проверяется. Если режим мягкий, то дата объединяется так, как если бы она создавалась первого января в запрошенном году, затем добавлялась разница в неделях, затем в днях. Если режим интеллектуальный или строгий, то все три поля проверяются на соответствие внешним диапазонам. Затем дата объединяется так, как если бы она создавалась первого числа запрошенного года, затем добавлялось количество недель и дней, чтобы достичь их значений. Если режим строгий, дата дополнительно проверяется, чтобы убедиться, что корректировка дня и недели не изменила год.
  • YEAR, ALIGNED_WEEK_OF_YEAR и DAY_OF_WEEK - Если все три присутствуют, то они объединяются, чтобы сформировать LocalDate. Подход такой же, как описано выше для лет и недель в ALIGNED_DAY_OF_WEEK_IN_YEAR. День недели корректируется как следующий или такой же совпадающий день недели, как только года и недели были обработаны.
Specified by:
resolveDate в интерфейсе Chronology
Overrides:
resolveDate в классе AbstractChronology
Parameters:
fieldValues - карта полей со значениями, которые могут быть обновлены, не null
resolverStyle - требуемый тип разрешения, не null
Returns:
разрешенная дата, null, если недостаточно информации для создания даты
Throws:
DateTimeException - если дату невозможно разрешить, как правило, из-за конфликта в входных данных

Диапазон

public ValueRange range(ChronoField field)
Описание скопировано из интерфейса: Chronology
Получает диапазон допустимых значений для указанного поля.

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

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

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

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

период

public Period period(int years, int months, int days)
Получает период для этой хронологии на основе лет, месяцев и дней.

Это возвращает период, связанный с хронологией ISO, используя указанные годы, месяцы и дни. Подробнее см. Period.

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

isIsoBased

public boolean isIsoBased()
IsoChronology является хронологией ISO, которая поддерживает поля в IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR.
Определено в:
isIsoBased в интерфейсе Chronology
Возвращает:
true
С:
19
См. также:
  • IsoFields

© 1993, 2023, 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/21/docs/api/java.base/java/time/chrono/IsoChronology.html

Spec-Zone.ru

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