Перечисление ChronoField
- java.lang.Object
-
- java.lang.Enum<ChronoField>
-
- java.time.temporal.ChronoField
- Все реализованные интерфейсы:
-
Serializable,Comparable<ChronoField>,TemporalField
public enum ChronoField extends Enum<ChronoField> implements TemporalField
Стандартный набор полей.
Этот набор полей обеспечивает доступ к полям для работы с датой, временем или датой и временем. Стандартный набор полей может быть расширен путём реализации TemporalField.
Эти поля предназначены для применения в нескольких календарных системах. Например, большинство календарных систем, отличных от ISO, определяют даты как год, месяц и день, только с немного другими правилами. В документации каждого поля объясняется, как оно работает.
- Требования к реализации:
- Это конечное, неизменяемое и потокобезопасное перечисление.
- С:
- 1.8
Постоянные значения перечисления
| Постоянное значение перечисления | Описание |
|---|---|
ALIGNED_DAY_OF_WEEK_IN_MONTH | Выровненый день недели в месяце. |
ALIGNED_DAY_OF_WEEK_IN_YEAR | Выровненый день недели в году. |
ALIGNED_WEEK_OF_MONTH | Выровненная неделя в месяце. |
ALIGNED_WEEK_OF_YEAR | Выровненная неделя в году. |
AMPM_OF_DAY | Час дня (AM/PM). |
CLOCK_HOUR_OF_AMPM | Час в формате 1-12 (AM/PM). |
CLOCK_HOUR_OF_DAY | Час в формате 0-23. |
DAY_OF_MONTH | День месяца. |
DAY_OF_WEEK | День недели (например, вторник). |
DAY_OF_YEAR | День года. |
EPOCH_DAY | Эпохальный день, основанный на эпохе Java 1970-01-01 (ISO). |
ERA | Эра. |
HOUR_OF_AMPM | Час в формате 1-12 (AM/PM). |
HOUR_OF_DAY | Час в формате 0-23. |
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 | Год в пределах эры. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
int | checkValidIntValue(long value) | Проверяет, является ли указанное значение допустимым и помещается в |
long | checkValidValue(long value) | Проверяет, является ли указанное значение допустимым для этого поля. |
boolean | isDateBased() | Проверяет, представляет ли это поле компонент даты. |
boolean | isTimeBased() | Проверяет, представляет ли это поле компонент времени. |
ValueRange | range() | Получает диапазон допустимых значений для поля. |
static ChronoField | valueOf(String name) | Возвращает константу перечисления этого типа с заданным именем. |
static ChronoField[] | values() | Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. |
Методы, объявленные в классе java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf Методы, объявленные в классе java.lang.Object
getClass, notify, notifyAll, wait, wait, wait Методы, объявленные в интерфейсе java.time.temporal.TemporalField
adjustInto, getBaseUnit, getDisplayName, getFrom, getRangeUnit, isSupportedBy, rangeRefinedBy, resolve, toString Константы перечисления
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 со значением, умноженным на 1000.
При разборе этого поля оно ведет себя эквивалентно следующему: значение проверяется в строгом и интеллектуальном режимах, но не в снисходительном режиме. Поле разрешается в сочетании с 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 со значением, умноженным на 1000.
При разборе этого поля оно ведет себя эквивалентно следующему: значение проверяется в строгом и интеллектуальном режимах, но не в снисходительном режиме. Значение разделяется для формирования полей 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 * 1000) - 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 для формирования HOUR_OF_DAY путем умножения значения {AMPM_OF_DAY} на 12.
День недели
public static final ChronoField DAY_OF_WEEK
День недели, например, вторник.
Представляет стандартное понятие дня недели. В стандартной системе календаря ISO значения варьируются от понедельника (1) до воскресенья (7). Класс DayOfWeek можно использовать для интерпретации результата.
Большинство систем календарей, отличных от ISO, также определяют семидневную неделю, соответствующую ISO. Эти системы календарей также должны использовать ту же систему нумерации, от понедельника (1) до воскресенья (7), что позволяет использовать DayOfWeek.
Системы календарей, в которых не определена стандартная семидневная неделя, должны реализовать это поле, если у них есть аналогичное понятие именованных или пронумерованных дней в периоде, близком к неделе. Рекомендуется, чтобы нумерация начиналась с 1.
Выровненный день недели в месяце
public static final ChronoField ALIGNED_DAY_OF_WEEK_IN_MONTH
Выровненный день недели в месяце.
Представляет понятие количества дней в периоде недели, где недели выровнены с началом месяца. Это поле обычно используется с ALIGNED_WEEK_OF_MONTH.
Например, в системах календарей с семидневной неделей первая выровненная неделя месяца начинается с 1 числа, вторая выровненная неделя — с 8 числа и так далее. В каждой из этих выровненных недель дни нумеруются от 1 до 7 и возвращаются как значение этого поля. Таким образом, числа с 1 по 7 будут иметь значения выровненного дня недели от 1 до 7. А числа с 8 по 14 будут повторять это с значениями выровненного дня недели от 1 до 7.
Системы календарей, у которых не семидневная неделя, обычно реализуют это поле аналогичным образом, но с использованием другой длины недели.
Выровненный день недели в году
public static final ChronoField ALIGNED_DAY_OF_WEEK_IN_YEAR
Выровненный день недели в году.
Представляет собой количество дней в периоде недели, где недели выровнены с началом года. Это поле обычно используется с ALIGNED_WEEK_OF_YEAR.
Например, в системах календарей с семидневной неделей первая выровненная неделя года начинается с 1 дня года, вторая выровненная неделя — с 8 дня года и так далее. В каждой из этих выровненных недель дни нумеруются от 1 до 7 и возвращаются как значение этого поля. Таким образом, дни года с 1 по 7 будут иметь значения выровненного дня недели от 1 до 7. А дни года с 8 по 14 будут повторять это с значениями выровненного дня недели от 1 до 7.
Системы календарей, у которых не семидневная неделя, обычно реализуют это поле аналогичным образом, но с использованием другой длины недели.
День месяца
public static final ChronoField DAY_OF_MONTH
День месяца.
Представляет собой понятие дня в месяце. В стандартной системе календаря ISO значения варьируются от 1 до 31 в большинстве месяцев. В апреле, июне, сентябре и ноябре — от 1 до 30, а в феврале — от 1 до 28 или 29 в високосном году.
Системы календарей, отличные от ISO, должны реализовывать это поле, используя наиболее признанные значения дня месяца для пользователей системы календаря. Обычно это счет дней от 1 до длины месяца.
День года
public static final ChronoField DAY_OF_YEAR
День года.
Представляет собой понятие дня в году. В стандартной системе календаря ISO значения варьируются от 1 до 365 в обычные годы и от 1 до 366 в високосные годы.
Системы календарей, отличные от ISO, должны реализовывать это поле, используя наиболее признанные значения дня года для пользователей системы календаря. Обычно это счет дней от 1 до длины года.
Обратите внимание, что система календаря, отличная от ISO, может иметь систему нумерации годов, которая меняется в другой момент, отличном от естественного сброса в нумерации месяцев. Примером этого является японская система календаря, где смена эры, которая сбрасывает номер года до 1, может произойти в любой день. Смена эры и сброс года также приводят к сбросу дня года до 1, но не месяца года или дня месяца.
День эпохи
public static final ChronoField EPOCH_DAY
День эпохи, основанный на эпохе Java 1970-01-01 (ISO).
Это последовательный счет дней, где 1970-01-01 (ISO) равен нулю. Обратите внимание, что это использует локальное временное отсчет, игнорируя смещение и часовой пояс.
Это поле строго определено, чтобы иметь одинаковое значение во всех системах календарей. Это необходимо для обеспечения взаимодействия между календарями.
Диапазон EpochDay находится в пределах (LocalDate.MIN.toEpochDay(), LocalDate.MAX.toEpochDay()) включительно.
Выровненная неделя месяца
public static final ChronoField ALIGNED_WEEK_OF_MONTH
Выровненная неделя в месяце.
Представляет собой понятие количества недель в месяце, где недели выровнены с началом месяца. Это поле обычно используется с ALIGNED_DAY_OF_WEEK_IN_MONTH.
Например, в системах календарей с семидневной неделей первая выровненная неделя месяца начинается с 1 числа, вторая выровненная неделя — с 8 числа и так далее. Таким образом, значения дня месяца с 1 по 7 находятся в 1 выровненной неделе, а значения дня месяца с 8 по 14 — во 2 выровненной неделе и так далее.
Системы календарей, у которых не семидневная неделя, обычно реализуют это поле аналогичным образом, но с использованием другой длины недели.
Выровненная неделя года
public static final ChronoField ALIGNED_WEEK_OF_YEAR
Выровненная неделя в году.
Представляет собой понятие количества недель в году, где недели выровнены с началом года. Это поле обычно используется с ALIGNED_DAY_OF_WEEK_IN_YEAR.
Например, в системах календарей с семидневной неделей первая выровненная неделя года начинается с 1 дня года, вторая выровненная неделя — с 8 дня года и так далее. Таким образом, значения дня года с 1 по 7 находятся в 1 выровненной неделе, а значения дня года с 8 по 14 — во 2 выровненной неделе и так далее.
Системы календарей, у которых не семидневная неделя, обычно реализуют это поле аналогичным образом, но с использованием другой длины недели.
Месяц года
public static final ChronoField MONTH_OF_YEAR
Месяц года, например, март.
Представляет понятие месяца в году. В стандартной системе календаря ISO значения варьируются от января (1) до декабря (12).
Системы календарей, отличные от ISO, должны реализовывать это поле, используя наиболее распространенные значения месяца года для пользователей системы календаря. Обычно это счет месяцев, начиная с 1.
Пролептический месяц
public static final ChronoField PROLEPTIC_MONTH
Пролептический месяц, исчисляемый последовательно с года 0.
Это последовательный счет месяцев, где первый месяц в пролептическом году ноль имеет значение ноль. Поздние месяцы имеют все возрастающие значения. Ранние месяцы имеют все уменьшающиеся значения. В последовательности месяцев нет пробелов или разрывов. Обратите внимание, что это использует локальное временное отсчет, игнорируя смещение и часовой пояс.
В стандартной системе календаря ISO июнь 2012 года будет иметь значение (2012 * 12 + 6 - 1). Это поле в первую очередь предназначено для внутреннего использования.
Системы календарей, отличные от ISO, должны реализовывать это поле в соответствии с вышеизложенным определением. Это просто простой счет месяцев, прошедших с начала пролептического года 0. Все системы календарей с полным определением пролептического года будут иметь год ноль. Если система календаря имеет минимальный год, который исключает год ноль, то он должен быть экстраполирован, чтобы это метод мог быть определен.
Год эпохи
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 определены две эпохи: «до н. э.» и «н. э.». Эпоха «н. э.» используется в настоящее время, а год эпохи изменяется от 1 до максимального значения. Эпоха «до н. э.» — это предыдущая эпоха, и год эпохи отсчитывается в обратном порядке.
Например, вычитание года каждый раз дает следующее:
- пролептический год 2 = год эпохи 2 «н. э.»
- пролептический год 1 = год эпохи 1 «н. э.»
- пролептический год 0 = год эпохи 1 «до н. э.»
- пролептический год -1 = год эпохи 2 «до н. э.»
Обратите внимание, что стандарт ISO-8601 фактически не определяет эпохи. Также обратите внимание, что ISO-эпохи не совпадают с хорошо известными эпохами н. э./до н. э. из-за перехода между юлианским и григорианским календарями.
Системы календарей, отличные от ISO, должны реализовывать это поле, используя наиболее распространенные значения года эпохи для пользователей системы календаря. Поскольку большинство систем календарей имеют только две эпохи, подсчет года эпохи обычно будет таким же, как у системы календаря ISO. Значение года эпохи обычно должно быть положительным, но это не обязательно.
Год
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, может быть лучшим вариантом.
Эпоха
public static final ChronoField ERA
Эра.
Это представляет собой понятие эры, которое является крупнейшим подразделением временной шкалы. Это поле обычно используется с YEAR_OF_ERA.
В стандартной системе календаря ISO определены две эры: «до нашей эры» (до н.э.) и «нашей эры» (н.э.). Эра «нашей эры» используется в настоящее время, и год эры изменяется от 1 до максимального значения. Эра «до нашей эры» — это предыдущая эра, и год эры отсчитывается в обратном порядке. Полный пример см. в YEAR_OF_ERA.
Системы календарей, не являющиеся системами ISO, должны реализовать это поле для определения эр. Значению эры, активной 01.01.1970 (ISO), должно быть присвоено значение 1. Ранние эры должны иметь последовательно меньшие значения. Поздние эры должны иметь последовательно большие значения.
INSTANT_SECONDS
public static final ChronoField INSTANT_SECONDS
Момент эпохи — секунды.
Это представляет собой понятие последовательного отсчёта секунд, где 01.01.1970T00:00Z (ISO) равен нулю. Это поле может использоваться с NANO_OF_SECOND для представления доли секунды.
Instant представляет собой мгновенную точку на временной шкале. Само по себе мгновение содержит недостаточно информации, чтобы получить локальную дату и время. Только в сочетании со смещением или часовым поясом можно вычислить локальную дату или время.
Это поле строго определено для того, чтобы иметь одинаковое значение во всех системах календаря. Это необходимо для обеспечения взаимодействия между календарями.
OFFSET_SECONDS
public static final ChronoField OFFSET_SECONDS
Смещение от UTC/Гринвича.
Это представляет собой понятие смещения во времени местного времени от UTC/Гринвича в секундах.
ZoneOffset представляет собой период времени, на который местное время отличается от UTC/Гринвича. Обычно это фиксированное количество часов и минут. Оно эквивалентно total amount смещения в секундах. Например, зимой в Париже смещение составляет +01:00, что соответствует 3600 секундам.
Это поле строго определено для того, чтобы иметь одинаковое значение во всех системах календаря. Это необходимо для обеспечения взаимодействия между календарями.
Методы
values
public static ChronoField[] values()
Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. Этот метод можно использовать для итерации по константам следующим образом:
for (ChronoField c : ChronoField.values()) System.out.println(c);
- Возвращает:
- массив, содержащий константы этого типа перечисления в порядке их объявления
valueOf
public static ChronoField valueOf(String name)
Возвращает константу перечисления этого типа с заданным именем. Строка должна точно совпадать с идентификатором, используемым для объявления константы перечисления в этом типе. (Вспомогательные пробельные символы недопустимы.)
- Параметры:
-
name- имя константы перечисления, которое требуется вернуть. - Возвращает:
- константу перечисления с указанным именем
- Исключение:
-
IllegalArgumentException- если в этом типе перечисления нет константы с указанным именем -
NullPointerException- если аргумент равен 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- проверяемое значение - Возвращает:
- переданное значение
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/temporal/ChronoField.html