Spec-Zone.ru › OpenJDK 25

Класс перечисления 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, определяют даты как год, месяц и день, но используют немного отличающиеся правила. В документации каждого поля описан принцип его работы.

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

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

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

Enum.EnumDesc<E>

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

Константа перечисления Описание
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
Час в формате часов с диапазоном 1–12.
CLOCK_HOUR_OF_DAY
Час в формате часов с диапазоном 1–24.
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

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

getClass, notify, notifyAll, wait, wait, wait

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

getDisplayName, resolve

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

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, от 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, от 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. Во всех календарных системах с полным определением пролептического года будет год 0. Если минимальный год календарной системы исключает год 0, для определения этого метода необходимо экстраполировать год 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, то есть 3600 секунд.

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

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

values

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

valueOf

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

getBaseUnit

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

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

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

getRangeUnit

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

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

Диапазон никогда не равен null. Например, поле «Year» — это сокращенная запись поля «YearOfForever». Поэтому его единицей измерения являются «годы», а диапазоном — «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
  temporal = thisField.isSupportedBy(temporal);
  temporal = temporal.isSupported(thisField);
Рекомендуется использовать второй подход, isSupported(TemporalField), поскольку так код гораздо понятнее.

Реализации должны определять поддержку, используя поля, доступные в 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
  temporal = thisField.rangeRefinedBy(temporal);
  temporal = temporal.range(thisField);
Рекомендуется использовать второй подход, range(TemporalField), поскольку так код гораздо понятнее.

Реализации должны выполнять запросы и вычисления с использованием полей, доступных в 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
  temporal = thisField.getFrom(temporal);
  temporal = temporal.getLong(thisField);
Рекомендуется использовать второй подход, getLong(TemporalField), поскольку так код гораздо понятнее.

Реализации должны выполнять запросы и вычисления с использованием полей, доступных в 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);
  temporal = temporal.with(thisField);
Рекомендуется использовать второй подход, with(TemporalField), поскольку так код гораздо понятнее.

Реализации должны выполнять запросы и вычисления с использованием полей, доступных в 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/temporal/ChronoField.html

Spec-Zone.ru

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