Spec-Zone.ru › OpenJDK 27

Перечисление ChronoField

java.lang.Object
java.lang.Enum<ChronoField>
java.time.temporal.ChronoField
Все реализуемые интерфейсы:
Serializable, Comparable<ChronoField>, Constable, TemporalField
public enum ChronoField extends Enum<ChronoField> implements TemporalField
Стандартный набор полей.

Этот набор полей предоставляет доступ на основе полей для изменения даты, времени или даты и времени. Стандартный набор полей можно расширить, реализовав TemporalField.

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

Требования к реализации:
Это окончательное, неизменяемое и потокобезопасное перечисление.
С момента:
1.8

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в классе Enum

Enum.EnumDesc<E>
Модификатор и тип Класс Описание
static final class  Enum.EnumDesc<E extends Enum<E>>
Номинальный дескриптор константы enum.

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

Константа перечисления Описание
ALIGNED_DAY_OF_WEEK_IN_MONTH
Выровненный день недели в пределах месяца.
ALIGNED_DAY_OF_WEEK_IN_YEAR
Выровненный день недели в пределах года.
ALIGNED_WEEK_OF_MONTH
Выровненная неделя в пределах месяца.
ALIGNED_WEEK_OF_YEAR
Выровненная неделя в пределах года.
AMPM_OF_DAY
Половина суток (до или после полудня).
CLOCK_HOUR_OF_AMPM
Час в пределах половины суток по 12-часовой системе.
CLOCK_HOUR_OF_DAY
Час в пределах суток.
DAY_OF_MONTH
День месяца.
DAY_OF_WEEK
День недели, например вторник.
DAY_OF_YEAR
День года.
EPOCH_DAY
День эпохи, отсчитываемый от эпохи Java — 1970-01-01 (ISO).
ERA
Эра.
HOUR_OF_AMPM
Час в пределах половины суток.
HOUR_OF_DAY
Час в пределах суток.
INSTANT_SECONDS
Секунды эпохи для момента времени.
MICRO_OF_DAY
Микросекунды в пределах суток.
MICRO_OF_SECOND
Микросекунды в пределах секунды.
MILLI_OF_DAY
Миллисекунды в пределах суток.
MILLI_OF_SECOND
Миллисекунды в пределах секунды.
MINUTE_OF_DAY
Минута в пределах суток.
MINUTE_OF_HOUR
Минута в пределах часа.
MONTH_OF_YEAR
Месяц года, например март.
NANO_OF_DAY
Наносекунды в пределах суток.
NANO_OF_SECOND
Наносекунды в пределах секунды.
OFFSET_SECONDS
Смещение относительно UTC/Гринвича.
PROLEPTIC_MONTH
Пролептический месяц, отсчитываемый последовательным подсчетом месяцев начиная с 0 года.
SECOND_OF_DAY
Секунда в пределах суток.
SECOND_OF_MINUTE
Секунда в пределах минуты.
YEAR
Пролептический год, например 2012.
YEAR_OF_ERA
Год в пределах эры.

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

Модификатор и тип Метод Описание
<R extends Temporal>
R
adjustInto(R temporal, long newValue)
Возвращает копию указанного временного объекта, в которой установлено значение этого поля.
int checkValidIntValue(long value)
Проверяет, допустимо ли указанное значение и помещается ли оно в int.
long checkValidValue(long value)
Проверяет, допустимо ли указанное значение для этого поля.
TemporalUnit getBaseUnit()
Возвращает единицу измерения этого поля.
long getFrom(TemporalAccessor temporal)
Получает значение этого поля из указанного временного объекта.
TemporalUnit getRangeUnit()
Возвращает диапазон, которым ограничено это поле.
boolean isDateBased()
Проверяет, представляет ли это поле компонент даты.
boolean isSupportedBy(TemporalAccessor temporal)
Проверяет, поддерживается ли это поле временным объектом.
boolean isTimeBased()
Проверяет, представляет ли это поле компонент времени.
ValueRange range()
Возвращает диапазон допустимых значений этого поля.
ValueRange rangeRefinedBy(TemporalAccessor temporal)
Возвращает диапазон допустимых значений этого поля, уточняя результат с помощью временного объекта.
String toString()
Возвращает имя этой константы перечисления, указанное в объявлении.
static ChronoField valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static ChronoField[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

Методы, объявленные в классе Enum

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
Модификатор и тип Метод Описание
protected final Object clone()
Выбрасывает CloneNotSupportedException.
final int compareTo(ChronoField o)
Сравнивает это перечисление с указанным объектом, определяя порядок.
final Optional<Enum.EnumDesc<ChronoField>> describeConstable()
Возвращает дескриптор перечисления EnumDesc для этого экземпляра, если его можно создать, или пустой объект Optional, если создать его невозможно.
final boolean equals(Object other)
Возвращает true, если указанный объект равен этой константе перечисления.
protected final void finalize()
Устарело, планируется удаление: этот элемент API может быть удален в одной из будущих версий.
Метод финализации помечен как устаревший и планируется к удалению.
final Class<ChronoField> getDeclaringClass()
Возвращает объект Class, соответствующий типу перечисления этой константы.
final int hashCode()
Возвращает хеш-код этой константы перечисления.
final String name()
Возвращает имя этой константы перечисления в точности в том виде, в каком оно указано в объявлении перечисления.
final int ordinal()
Возвращает порядковый номер этой константы перечисления (ее позицию в объявлении перечисления; первой константе присваивается порядковый номер 0).
String toString()
Возвращает имя этой константы перечисления, указанное в объявлении.
static <T extends Enum<T>>
T
valueOf(Class<T> enumClass, String name)
Возвращает константу указанного класса перечисления с указанным именем.

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

getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения определенного промежутка реального времени.

Методы, объявленные в интерфейсе TemporalField

getDisplayName, resolve
Модификатор и тип Метод Описание
default String getDisplayName(Locale locale)
Возвращает отображаемое имя поля для запрошенной локали.
default TemporalAccessor resolve(Map<TemporalField, Long> fieldValues, TemporalAccessor partialTemporal, ResolverStyle resolverStyle)
Преобразует это поле, предоставляя более простой вариант или дату.

Подробное описание констант перечисления

NANO_OF_SECOND

public static final ChronoField NANO_OF_SECOND
Наносекунда в секунде.

Это поле задаёт наносекунду в пределах секунды: от 0 до 999,999,999. Оно имеет одинаковое значение во всех календарных системах.

Это поле используется для представления наносекунды и обработки любой доли секунды. Реализации TemporalAccessor должны предоставлять значение этого поля, если они могут вернуть значение для SECOND_OF_MINUTE, SECOND_OF_DAY или INSTANT_SECONDS, заполняя нулями неизвестную точность.

При использовании этого поля для установки значения следует задавать точность, поддерживаемую объектом, отбрасывая избыточную точность с помощью целочисленного деления. Например, если TemporalAccessor хранит время с точностью до миллисекунды, то значение наносекунды в секунде необходимо разделить на 1,000,000 перед заменой значения миллисекунды в секунде.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в строгом и интеллектуальном режимах, но не в нестрогом режиме. Поле разрешается в сочетании с MILLI_OF_SECOND и MICRO_OF_SECOND.

NANO_OF_DAY

public static final ChronoField NANO_OF_DAY
Наносекунда в сутках.

Это поле задаёт наносекунду в пределах суток: от 0 до (24 * 60 * 60 * 1,000,000,000) - 1. Оно имеет одинаковое значение во всех календарных системах.

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

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в строгом и интеллектуальном режимах, но не в нестрогом режиме. Значение разделяется для формирования полей NANO_OF_SECOND, SECOND_OF_MINUTE, MINUTE_OF_HOUR и HOUR_OF_DAY.

MICRO_OF_SECOND

public static final ChronoField MICRO_OF_SECOND
Микросекунда в секунде.

Это поле задаёт микросекунду в пределах секунды: от 0 до 999,999. Оно имеет одинаковое значение во всех календарных системах.

Это поле используется для представления микросекунды и обработки любой доли секунды. Реализации TemporalAccessor должны предоставлять значение этого поля, если они могут вернуть значение для SECOND_OF_MINUTE, SECOND_OF_DAY или INSTANT_SECONDS, заполняя нулями неизвестную точность.

При использовании этого поля для установки значения оно должно вести себя так же, как установка NANO_OF_SECOND со значением, умноженным на 1,000.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в строгом и интеллектуальном режимах, но не в нестрогом режиме. Поле разрешается в сочетании с MILLI_OF_SECOND для получения NANO_OF_SECOND.

MICRO_OF_DAY

public static final ChronoField MICRO_OF_DAY
Микросекунда в сутках.

Это поле задаёт микросекунду в пределах суток: от 0 до (24 * 60 * 60 * 1,000,000) - 1. Оно имеет одинаковое значение во всех календарных системах.

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

При использовании этого поля для установки значения оно должно вести себя так же, как установка NANO_OF_DAY со значением, умноженным на 1,000.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в строгом и интеллектуальном режимах, но не в нестрогом режиме. Значение разделяется для формирования полей MICRO_OF_SECOND, SECOND_OF_MINUTE, MINUTE_OF_HOUR и HOUR_OF_DAY.

MILLI_OF_SECOND

public static final ChronoField MILLI_OF_SECOND
Миллисекунда в секунде.

Это поле задаёт миллисекунду в пределах секунды: от 0 до 999. Оно имеет одинаковое значение во всех календарных системах.

Это поле используется для представления миллисекунды и обработки любой доли секунды. Реализации TemporalAccessor должны предоставлять значение этого поля, если они могут вернуть значение для SECOND_OF_MINUTE, SECOND_OF_DAY или INSTANT_SECONDS, заполняя нулями неизвестную точность.

При использовании этого поля для установки значения оно должно вести себя так же, как установка NANO_OF_SECOND со значением, умноженным на 1,000,000.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в строгом и интеллектуальном режимах, но не в нестрогом режиме. Поле разрешается в сочетании с MICRO_OF_SECOND для получения NANO_OF_SECOND.

MILLI_OF_DAY

public static final ChronoField MILLI_OF_DAY
Миллисекунда в сутках.

Это поле задаёт миллисекунду в пределах суток: от 0 до (24 * 60 * 60 * 1,000) - 1. Оно имеет одинаковое значение во всех календарных системах.

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

При использовании этого поля для установки значения оно должно вести себя так же, как установка NANO_OF_DAY со значением, умноженным на 1,000,000.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в строгом и интеллектуальном режимах, но не в нестрогом режиме. Значение разделяется для формирования полей MILLI_OF_SECOND, SECOND_OF_MINUTE, MINUTE_OF_HOUR и HOUR_OF_DAY.

SECOND_OF_MINUTE

public static final ChronoField SECOND_OF_MINUTE
Секунда в минуте.

Это поле задаёт секунду в пределах минуты: от 0 до 59. Оно имеет одинаковое значение во всех календарных системах.

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

SECOND_OF_DAY

public static final ChronoField SECOND_OF_DAY
Секунда в сутках.

Это поле задаёт секунду в пределах суток: от 0 до (24 * 60 * 60) - 1. Оно имеет одинаковое значение во всех календарных системах.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в строгом и интеллектуальном режимах, но не в нестрогом режиме. Значение разделяется для формирования полей SECOND_OF_MINUTE, MINUTE_OF_HOUR и HOUR_OF_DAY.

MINUTE_OF_HOUR

public static final ChronoField MINUTE_OF_HOUR
Минута в часе.

Это поле задаёт минуту в пределах часа: от 0 до 59. Оно имеет одинаковое значение во всех календарных системах.

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

MINUTE_OF_DAY

public static final ChronoField MINUTE_OF_DAY
Минута в сутках.

Это поле задаёт минуту в пределах суток: от 0 до (24 * 60) - 1. Оно имеет одинаковое значение во всех календарных системах.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в строгом и интеллектуальном режимах, но не в нестрогом режиме. Значение разделяется для формирования полей MINUTE_OF_HOUR и HOUR_OF_DAY.

HOUR_OF_AMPM

public static final ChronoField HOUR_OF_AMPM
Час в AM/PM.

Это поле задаёт час в пределах AM/PM: от 0 до 11. Это час, который отображался бы на стандартных цифровых часах с 12-часовым форматом. Оно имеет одинаковое значение во всех календарных системах.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в диапазоне от 0 до 11 в строгом и интеллектуальном режимах. В нестрогом режиме значение не проверяется. Оно объединяется с AMPM_OF_DAY для получения HOUR_OF_DAY путём умножения значения AMPM_OF_DAY на 12.

См. CLOCK_HOUR_OF_AMPM — связанное поле, задающее часы в диапазоне от 1 до 12.

CLOCK_HOUR_OF_AMPM

public static final ChronoField CLOCK_HOUR_OF_AMPM
Показание часов в AM/PM.

Это поле задаёт час в пределах AM/PM: от 1 до 12. Это час, который отображался бы на стандартных аналоговых настенных часах с 12-часовым циферблатом. Оно имеет одинаковое значение во всех календарных системах.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в диапазоне от 1 до 12 в строгом режиме и от 0 до 12 в интеллектуальном режиме. В нестрогом режиме значение не проверяется. Поле преобразуется в HOUR_OF_AMPM с тем же значением, если только значение не равно 12; в этом случае оно преобразуется в 0.

См. HOUR_OF_AMPM — связанное поле, задающее часы в диапазоне от 0 до 11.

HOUR_OF_DAY

public static final ChronoField HOUR_OF_DAY
Час в сутках.

Это поле задаёт час в пределах суток: от 0 до 23. Это час, который отображался бы на стандартных цифровых часах с 24-часовым форматом. Оно имеет одинаковое значение во всех календарных системах.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в строгом и интеллектуальном режимах, но не в нестрогом режиме. Поле объединяется с MINUTE_OF_HOUR, SECOND_OF_MINUTE и NANO_OF_SECOND для получения LocalTime. В нестрогом режиме избыточные дни добавляются к разобранной дате или становятся доступны через DateTimeFormatter.parsedExcessDays().

См. CLOCK_HOUR_OF_DAY — связанное поле, задающее часы в диапазоне от 1 до 24.

CLOCK_HOUR_OF_DAY

public static final ChronoField CLOCK_HOUR_OF_DAY
Показание часов в сутках.

Это поле задаёт час в пределах суток: от 1 до 24. Это час, который отображался бы на аналоговых настенных часах с 24-часовым циферблатом. Оно имеет одинаковое значение во всех календарных системах.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в диапазоне от 1 до 24 в строгом режиме и от 0 до 24 в интеллектуальном режиме. В нестрогом режиме значение не проверяется. Поле преобразуется в HOUR_OF_DAY с тем же значением, если только значение не равно 24; в этом случае оно преобразуется в 0.

См. HOUR_OF_DAY — связанное поле, задающее часы в диапазоне от 0 до 23.

AMPM_OF_DAY

public static final ChronoField AMPM_OF_DAY
Период AM/PM в сутках.

Это поле задаёт период AM/PM в пределах суток: от 0 (AM) до 1 (PM). Оно имеет одинаковое значение во всех календарных системах.

При разборе это поле ведёт себя так же, как описано далее: значение проверяется в диапазоне от 0 до 1 в строгом и интеллектуальном режимах. В нестрогом режиме значение не проверяется. Оно объединяется с HOUR_OF_AMPM (если поле отсутствует, используется значение по умолчанию '6') для получения HOUR_OF_DAY путём умножения значения AMPM_OF_DAY на 12.

DAY_OF_WEEK

public static final ChronoField DAY_OF_WEEK
День недели, например вторник.

Это поле представляет стандартное понятие дня недели. В календарной системе ISO, используемой по умолчанию, значения варьируются от понедельника (1) до воскресенья (7). Для интерпретации результата можно использовать класс DayOfWeek.

В большинстве календарных систем, отличных от ISO, также используется семидневная неделя, согласованная с ISO. Такие календарные системы должны использовать ту же систему нумерации: от понедельника (1) до воскресенья (7), что позволяет использовать DayOfWeek.

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

ALIGNED_DAY_OF_WEEK_IN_MONTH

public static final ChronoField ALIGNED_DAY_OF_WEEK_IN_MONTH
Выравненный день недели в месяце.

Это поле представляет понятие количества дней в периоде недели, где недели выровнены относительно начала месяца. Обычно это поле используется вместе с ALIGNED_WEEK_OF_MONTH.

Например, в календарной системе с семидневной неделей первая выравненная неделя месяца начинается с первого дня месяца, вторая — с восьмого дня и так далее. В каждой из этих выравненных недель дни нумеруются от 1 до 7; это число и возвращается как значение данного поля. Таким образом, для дней месяца с 1 по 7 значения выравненного дня недели будут от 1 до 7. Для дней месяца с 8 по 14 значения выравненного дня недели повторятся в диапазоне от 1 до 7.

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

ALIGNED_DAY_OF_WEEK_IN_YEAR

public static final ChronoField ALIGNED_DAY_OF_WEEK_IN_YEAR
Выравненный день недели в году.

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

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

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

DAY_OF_MONTH

public static final ChronoField DAY_OF_MONTH
День месяца.

Это поле представляет понятие дня в пределах месяца. В календарной системе ISO, используемой по умолчанию, в большинстве месяцев значения варьируются от 1 до 31. В апреле, июне, сентябре и ноябре — от 1 до 30, а в феврале — от 1 до 28 или до 29 в високосный год.

В календарных системах, отличных от ISO, это поле следует реализовывать с использованием наиболее привычных для пользователей данной календарной системы значений дня месяца. Обычно это количество дней от 1 до продолжительности месяца.

DAY_OF_YEAR

public static final ChronoField DAY_OF_YEAR
День года.

Это поле представляет понятие дня в пределах года. В календарной системе ISO, используемой по умолчанию, значения варьируются от 1 до 365 в обычные годы и от 1 до 366 в високосные годы.

В календарных системах, отличных от ISO, это поле следует реализовывать с использованием наиболее привычных для пользователей данной календарной системы значений дня года. Обычно это количество дней от 1 до продолжительности года.

Обратите внимание, что в календарной системе, отличной от ISO, нумерация лет может изменяться не в тот же момент, когда естественным образом сбрасывается нумерация месяцев. Например, в японской календарной системе при смене эры номер года сбрасывается до 1, и смена может произойти в любой день. Смена эры и сброс номера года также приводят к сбросу дня года до 1, но не месяца года или дня месяца.

EPOCH_DAY

public static final ChronoField EPOCH_DAY
День эпохи, отсчитываемый от эпохи Java — 1970-01-01 (ISO).

Это поле представляет собой последовательный отсчёт дней, где 1970-01-01 (ISO) соответствует нулю. Обратите внимание, что используется локальная временная шкала без учёта смещения и часового пояса.

Значение этого поля строго определено и одинаково во всех календарных системах. Это необходимо для обеспечения взаимодействия между календарями.

Диапазон EpochDay включает обе границы: от LocalDate.MIN.toEpochDay() до LocalDate.MAX.toEpochDay().

ALIGNED_WEEK_OF_MONTH

public static final ChronoField ALIGNED_WEEK_OF_MONTH
Выравненная неделя в месяце.

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

Например, в календарной системе с семидневной неделей первая выравненная неделя месяца начинается с первого дня месяца, вторая — с восьмого дня и так далее. Таким образом, значения дня месяца от 1 до 7 относятся к выравненной неделе 1, от 8 до 14 — к выравненной неделе 2 и так далее.

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

ALIGNED_WEEK_OF_YEAR

public static final ChronoField ALIGNED_WEEK_OF_YEAR
Выравненная неделя в году.

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

Например, в календарной системе с семидневной неделей первая выравненная неделя года начинается с первого дня года, вторая — с восьмого дня и так далее. Таким образом, значения дня года от 1 до 7 относятся к выравненной неделе 1, от 8 до 14 — к выравненной неделе 2 и так далее.

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

MONTH_OF_YEAR

public static final ChronoField MONTH_OF_YEAR
Месяц года, например март.

Это поле представляет понятие месяца в пределах года. В календарной системе ISO, используемой по умолчанию, значения варьируются от января (1) до декабря (12).

В календарных системах, отличных от ISO, это поле следует реализовывать с использованием наиболее привычных для пользователей данной календарной системы значений месяца года. Обычно это количество месяцев, начиная с 1.

PROLEPTIC_MONTH

public static final ChronoField PROLEPTIC_MONTH
Пролептический месяц, последовательно отсчитываемый начиная с года 0.

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

В календарной системе ISO, используемой по умолчанию, значение июня 2012 года будет равно (2012 * 12 + 6 - 1). Это поле предназначено главным образом для внутреннего использования.

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

YEAR_OF_ERA

public static final ChronoField YEAR_OF_ERA
Год в пределах эры.

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

Стандартная модель даты в представлении человека основана на трёх понятиях: годе, месяце и дне. Им соответствуют поля YEAR, MONTH_OF_YEAR и DAY_OF_MONTH. Обратите внимание, что эры в этой модели не учитываются. Полная модель даты включает четыре понятия: эру, год, месяц и день. Им соответствуют поля ERA, YEAR_OF_ERA, MONTH_OF_YEAR и DAY_OF_MONTH. Выбор между этим полем и YEAR зависит от используемой модели. Подробнее об этом см. в описании ChronoLocalDate.

В календарной системе ISO, используемой по умолчанию, определены две эры: 'BCE' и 'CE'. Эра 'CE' используется в настоящее время, и нумерация лет в эре начинается с 1 и продолжается до максимального значения. Эра 'BCE' предшествует ей, и нумерация лет в эре ведётся в обратном порядке.

Например, если каждый раз вычитать год, получится следующее:
- пролептический год 2 = год 2 эры 'CE'
- пролептический год 1 = год 1 эры 'CE'
- пролептический год 0 = год 1 эры 'BCE'
- пролептический год -1 = год 2 эры 'BCE'

Обратите внимание, что стандарт ISO-8601 в действительности не определяет эры. Также обратите внимание, что эры ISO не совпадают с общеизвестными эрами AD/BC из-за перехода от юлианской календарной системы к григорианской.

В календарных системах, отличных от ISO, это поле следует реализовывать с использованием наиболее привычного для пользователей данной календарной системы значения года в эре. Поскольку в большинстве календарных систем есть только две эры, нумерация года в эре обычно будет такой же, как в календарной системе ISO. Значение года в эре обычно должно быть положительным, однако это не является обязательным.

YEAR

public static final ChronoField YEAR
Пролептический год, например 2012.

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

Стандартная модель даты в представлении человека основана на трёх понятиях: годе, месяце и дне. Им соответствуют поля YEAR, MONTH_OF_YEAR и DAY_OF_MONTH. Обратите внимание, что эры в этой модели не учитываются. Полная модель даты включает четыре понятия: эру, год, месяц и день. Им соответствуют поля ERA, YEAR_OF_ERA, MONTH_OF_YEAR и DAY_OF_MONTH. Выбор между этим полем и YEAR_OF_ERA зависит от используемой модели. Подробнее об этом см. в описании ChronoLocalDate.

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

ERA

public static final ChronoField ERA
Эра.

Это поле представляет понятие эры — наибольшего деления временной шкалы. Обычно это поле используется вместе с YEAR_OF_ERA.

В календарной системе ISO, используемой по умолчанию, определены две эры: 'BCE' и 'CE'. Эра 'CE' используется в настоящее время, и нумерация лет в эре начинается с 1 и продолжается до максимального значения. Эра 'BCE' предшествует ей, и нумерация лет в эре ведётся в обратном порядке. Полный пример см. в описании YEAR_OF_ERA.

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

INSTANT_SECONDS

public static final ChronoField INSTANT_SECONDS
Секунды эпохи для момента времени.

Это поле представляет собой последовательный отсчёт секунд, где 1970-01-01T00:00Z (ISO) соответствует нулю. Это поле можно использовать вместе с NANO_OF_SECOND для представления доли секунды.

Instant представляет момент на временной шкале. Сам по себе момент времени не содержит достаточно информации для получения локальных даты и времени. Локальные дату или время можно вычислить, только если момент времени объединён со смещением или часовым поясом.

Значение этого поля строго определено и одинаково во всех календарных системах. Это необходимо для обеспечения взаимодействия между календарями.

Диапазон InstantSeconds включает обе границы: от Instant.MIN до Instant.MAX секунд эпохи.

OFFSET_SECONDS

public static final ChronoField OFFSET_SECONDS
Смещение относительно UTC/Гринвича.

Это поле представляет понятие смещения местного времени относительно UTC/Гринвича, выраженного в секундах.

ZoneOffset представляет промежуток времени, на который местное время отличается от UTC/Гринвича. Обычно это фиксированное количество часов и минут. Оно соответствует total amount смещения в секундах. Например, зимой смещение для Парижа составляет +01:00, то есть 3 600 секунд.

Значение этого поля строго определено и одинаково во всех календарных системах. Это необходимо для обеспечения взаимодействия между календарями.

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

values

public static ChronoField[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.
Возвращает:
массив, содержащий константы этого класса перечисления в порядке их объявления

valueOf

public static ChronoField valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем. Строка должна точно совпадать с идентификатором, использованным для объявления константы перечисления в этом классе. (Пробелы в начале и конце строки не допускаются.)
Параметры:
name — имя возвращаемой константы перечисления.
Возвращает:
константа перечисления с указанным именем
Вызывает исключение:
IllegalArgumentException — если в этом классе перечисления нет константы с указанным именем
NullPointerException — если аргумент равен null

getBaseUnit

public TemporalUnit getBaseUnit()
Описание скопировано из интерфейса: TemporalField
Возвращает единицу измерения поля.

Единица измерения поля — это период, в пределах которого изменяется поле. Например, для поля 'MonthOfYear' единицей измерения являются 'Months'. См. также TemporalField.getRangeUnit().

Определено в:
getBaseUnit в интерфейсе TemporalField
Возвращает:
единица измерения, определяющая базовую единицу поля; не может быть null

getRangeUnit

public TemporalUnit getRangeUnit()
Описание скопировано из интерфейса: TemporalField
Возвращает диапазон, в пределах которого изменяется поле.

Диапазон поля — это период, в пределах которого изменяется поле. Например, для поля 'MonthOfYear' диапазоном являются 'Years'. См. также TemporalField.getBaseUnit().

Диапазон никогда не равен null. Например, поле 'Year' является сокращённой записью 'YearOfForever'. Поэтому его единицей измерения являются 'Years', а диапазоном — 'Forever'.

Определено в:
getRangeUnit в интерфейсе TemporalField
Возвращает:
единица измерения, определяющая диапазон поля; не может быть null

range

public ValueRange range()
Возвращает диапазон допустимых значений для поля.

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

Этот метод возвращает диапазон поля в календарной системе ISO-8601. Этот диапазон может быть некорректным для других календарных систем. Используйте Chronology.range(ChronoField), чтобы получить правильный диапазон для другой календарной системы.

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

Определено в:
range в интерфейсе TemporalField
Возвращает:
диапазон допустимых значений для поля, не равный null

isDateBased

public boolean isDateBased()
Проверяет, представляет ли это поле компонент даты.

Поля от дня недели до эры относятся к дате.

Определено в:
isDateBased в интерфейсе TemporalField
Возвращает:
true, если поле является компонентом даты

isTimeBased

public boolean isTimeBased()
Проверяет, представляет ли это поле компонент времени.

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

Определено в:
isTimeBased в интерфейсе TemporalField
Возвращает:
true, если поле является компонентом времени

checkValidValue

public long checkValidValue(long value)
Проверяет, допустимо ли указанное значение для этого поля.

Этот метод проверяет, находится ли значение во внешнем диапазоне допустимых значений, возвращаемом методом range().

Этот метод проверяет значение относительно диапазона поля в календарной системе ISO-8601. Этот диапазон может быть некорректным для других календарных систем. Используйте Chronology.range(ChronoField), чтобы получить правильный диапазон для другой календарной системы.

Параметры:
value — проверяемое значение
Возвращает:
переданное значение

checkValidIntValue

public int checkValidIntValue(long value)
Проверяет, допустимо ли указанное значение и помещается ли оно в int.

Этот метод проверяет, находится ли значение во внешнем диапазоне допустимых значений, возвращаемом методом range(). Он также проверяет, помещаются ли все допустимые значения в границы int.

Этот метод проверяет значение относительно диапазона поля в календарной системе ISO-8601. Этот диапазон может быть некорректным для других календарных систем. Используйте Chronology.range(ChronoField), чтобы получить правильный диапазон для другой календарной системы.

Параметры:
value — проверяемое значение
Возвращает:
переданное значение

isSupportedBy

public boolean isSupportedBy(TemporalAccessor temporal)
Описание скопировано из интерфейса: TemporalField
Проверяет, поддерживается ли это поле временным объектом.

Определяет, поддерживает ли временной объект это поле. Если возвращается false, запросить это поле у временного объекта нельзя.

Существует два эквивалентных способа использовать этот метод. Первый — вызвать его напрямую. Второй — использовать TemporalAccessor.isSupported(TemporalField):

  // these two lines are equivalent, but the second approach is recommended
  supported = thisField.isSupportedBy(temporal);
  supported = temporal.isSupported(thisField);
Рекомендуется использовать второй подход, isSupported(thisField), поскольку в коде он гораздо понятнее.

Реализации должны определять, поддерживается ли поле, используя поля, доступные в ChronoField.

Определено в:
isSupportedBy в интерфейсе TemporalField
Параметры:
temporal — временной объект для запроса, не равный null
Возвращает:
true, если для даты и времени можно запросить это поле; в противном случае false

rangeRefinedBy

public ValueRange rangeRefinedBy(TemporalAccessor temporal)
Описание скопировано из интерфейса: TemporalField
Возвращает диапазон допустимых значений для этого поля, уточняя результат с помощью временного объекта.

Этот метод использует временной объект, чтобы определить диапазон допустимых значений для поля. Он похож на TemporalField.range(), однако уточняет результат с учетом временного объекта. Например, если поле — DAY_OF_MONTH, метод range не дает точного результата, поскольку длина месяца может составлять 28, 29, 30 или 31 день. Использование этого метода с датой позволяет получить точный диапазон, содержащий только один из этих четырех вариантов.

Существует два эквивалентных способа использовать этот метод. Первый — вызвать его напрямую. Второй — использовать TemporalAccessor.range(TemporalField):

  // these two lines are equivalent, but the second approach is recommended
  range = thisField.rangeRefinedBy(temporal);
  range = temporal.range(thisField);
Рекомендуется использовать второй подход, range(thisField), поскольку в коде он гораздо понятнее.

Реализации должны выполнять запросы и вычисления, используя поля, доступные в ChronoField. Если поле не поддерживается, необходимо выбросить UnsupportedTemporalTypeException.

Определено в:
rangeRefinedBy в интерфейсе TemporalField
Параметры:
temporal — временной объект, используемый для уточнения результата, не равный null
Возвращает:
диапазон допустимых значений для этого поля, не равный null

getFrom

public long getFrom(TemporalAccessor temporal)
Описание скопировано из интерфейса: TemporalField
Получает значение этого поля из указанного временного объекта.

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

Существует два эквивалентных способа использовать этот метод. Первый — вызвать его напрямую. Второй — использовать TemporalAccessor.getLong(TemporalField) (или TemporalAccessor.get(TemporalField)):

  // these two lines are equivalent, but the second approach is recommended
  value = thisField.getFrom(temporal);
  value = temporal.getLong(thisField);
Рекомендуется использовать второй подход, getLong(thisField), поскольку в коде он гораздо понятнее.

Реализации должны выполнять запросы и вычисления, используя поля, доступные в ChronoField. Если поле не поддерживается, необходимо выбросить UnsupportedTemporalTypeException.

Определено в:
getFrom в интерфейсе TemporalField
Параметры:
temporal — временной объект для запроса, не равный null
Возвращает:
значение этого поля, не равное null

adjustInto

public <R extends Temporal> R adjustInto(R temporal, long newValue)
Описание скопировано из интерфейса: TemporalField
Возвращает копию указанного временного объекта с заданным значением этого поля.

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

В некоторых случаях изменение поля определено не полностью. Например, если целевой объект — дата, соответствующая 31 января, изменение месяца на февраль будет неоднозначным. В таких случаях реализация должна определить результат. Обычно выбирается предыдущая допустимая дата — в данном примере последний допустимый день февраля.

Существует два эквивалентных способа использовать этот метод. Первый — вызвать его напрямую. Второй — использовать Temporal.with(TemporalField, long):

  // these two lines are equivalent, but the second approach is recommended
  temporal = thisField.adjustInto(temporal, newValue);
  temporal = temporal.with(thisField, newValue);
Рекомендуется использовать второй подход, with(thisField, newValue), поскольку в коде он гораздо понятнее.

Реализации должны выполнять запросы и вычисления, используя поля, доступные в ChronoField. Если поле не поддерживается, необходимо выбросить UnsupportedTemporalTypeException.

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

Определено в:
adjustInto в интерфейсе TemporalField
Параметры типа:
R — тип объекта Temporal
Параметры:
temporal — временной объект для корректировки, не равный null
newValue — новое значение поля
Возвращает:
скорректированный временной объект, не равный null

toString

public String toString()
Описание скопировано из класса: Enum
Возвращает имя этой константы перечисления, указанное в объявлении. Этот метод можно переопределить, хотя обычно в этом нет необходимости или смысла. Класс перечисления должен переопределять этот метод, если существует более «удобное для программиста» строковое представление.
Определено в:
toString в интерфейсе TemporalField
Переопределяет:
toString в классе Enum<ChronoField>
Возвращает:
имя этой константы перечисления

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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