Spec-Zone.ru › OpenJDK 8

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

Единственный экземпляр хронологии ISO.

Методы

Модификатор и тип Метод и описание
LocalDate date(Era era, int yearOfEra, int month, int dayOfMonth)

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

LocalDate date(int prolepticYear, 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(Era era, int yearOfEra, int dayOfYear)

Получение даты ISO локального времени по полям эры, года-эры и дня-года.

LocalDate dateYearDay(int prolepticYear, int dayOfYear)

Получение даты ISO локального времени по полям пролептического года и дня-года.

IsoEra eraOf(int eraValue)

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

List<Era> eras()

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

String getCalendarType()

Получение типа календаря базовой системы календаря - 'iso8601'.

String getId()

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

boolean isLeapYear(long prolepticYear)

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

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

from, getDisplayName

Поля

INSTANCE

public static final IsoChronology INSTANCE

Единственный экземпляр хронологии ISO.

Методы

getId

public String getId()

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

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

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

getCalendarType

public String getCalendarType()

Получает тип календаря базовой системы календаря — 'iso8601'.

Тип календаря — это идентификатор, определенный спецификацией Unicode Locale Data Markup Language (LDML). Его можно использовать для поиска Chronology с помощью 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)

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 в этой хронологии из Instant.

Эквивалентно 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. Указание часового пояса исключает зависимость от часового пояса по умолчанию.

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

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

dateNow

public LocalDate dateNow(Clock clock)

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

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

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

isLeapYear

public boolean isLeapYear(long prolepticYear)

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

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

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

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

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

prolepticYear

public int prolepticYear(Era era,
                         int yearOfEra)

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

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

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

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

Указано в:
prolepticYear в интерфейсе Chronology
Параметры:
era - эра соответствующего типа для хронологии, не null
yearOfEra - год хронологической эры
Возвращает:
пролептический год

eraOf

public IsoEra eraOf(int eraValue)

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

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

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

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

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

Указано в:
eraOf в интерфейсе Chronology
Параметры:
eraValue - значение эры
Возвращает:
эра системы календаря, не null

eras

public List<Era> eras()

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

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

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

Указано в:
eras в интерфейсе Chronology
Возвращает:
список эр для хронологии, может быть неизменяемым, не 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. День недели корректируется как следующий или тот же соответствующий день недели после обработки годов и недель.
Указано в:
resolveDate в интерфейсе Chronology
Переопределяет:
resolveDate в классе AbstractChronology
Параметры:
fieldValues - карта полей со значениями, которая может быть обновлена, не null
resolverStyle - запрашиваемый тип разрешения, не null
Возвращает:
разрешённая дата, null, если недостаточно информации для создания даты
Имеет исключения:
DateTimeException - если дату невозможно разрешить, обычно из-за конфликта в входных данных

range

public ValueRange range(ChronoField field)

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

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

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

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

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

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

period

public Period period(int years,
                     int months,
                     int days)

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

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

Указано в:
period в интерфейсе Chronology
Параметры:
years - количество лет, может быть отрицательным
months - количество месяцев, может быть отрицательным
days - количество дней, может быть отрицательным
Возвращает:
период в терминах этой хронологии, не 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.

Spec-Zone.ru

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