Spec-Zone.ru › OpenJDK 8

Перечисление 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

Час по системе AM/PM.

CLOCK_HOUR_OF_DAY

Час по 24-часовому формату.

DAY_OF_MONTH

День месяца.

DAY_OF_WEEK

День недели, например, вторник.

DAY_OF_YEAR

День года.

EPOCH_DAY

Эпохальный день, основанный на эпохе Java 1970-01-01 (ISO).

ERA

Эра.

HOUR_OF_AMPM

Час по системе AM/PM.

HOUR_OF_DAY

Час по 24-часовому формату.

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()

Возвращает единицу измерения поля.

String getDisplayName(Locale locale)

Возвращает имя поля в указанном локали.

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()

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

Методы, унаследованные от класса java.lang.Enum

clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf

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

getClass, notify, notifyAll, wait, wait, wait

Методы, унаследованные от интерфейса java.time.temporal.TemporalField

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.

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

При разборе этого поля поведение эквивалентно следующему: значение проверяется от 0 до 11 в строгом и умном режимах. В мягком режиме значение не проверяется. Оно комбинируется с AMPM_OF_DAY для формирования HOUR_OF_DAY, умножая значение {AMPM_OF_DAY} на 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_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

public static final ChronoField CLOCK_HOUR_OF_DAY

Час дня (цифровой).

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

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

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.

ALIGNED_DAY_OF_WEEK_IN_MONTH

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.

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

ALIGNED_DAY_OF_WEEK_IN_YEAR

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.

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

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) равен нулю. Обратите внимание, что это использует локальное временное шкалу, игнорируя смещение и часовой пояс.

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

ALIGNED_WEEK_OF_MONTH

public static final ChronoField ALIGNED_WEEK_OF_MONTH

Выровненная неделя в месяце.

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

Например, в системах календарей с семидневной неделей первая выровненная неделя месяца начинается с 1 числа месяца, вторая выровненная неделя начинается с 8 числа месяца и так далее. Таким образом, значения дня месяца от 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 дня года, вторая выровненная неделя начинается с 8 дня года и так далее. Таким образом, значения дня года от 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.

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

В стандартной системе календаря 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 определены две эпохи: «до н. э.» и «н. э.». Эпоха «н. э.» используется в настоящее время, а год эпохи варьируется от 1 до максимального значения. Эпоха «до н. э.» - это предыдущая эпоха, а год эпохи уменьшается.

Например, вычитание года каждый раз дает следующее:
- пролептический год 2 = год эпохи «н. э.» 2
- пролептический год 1 = год эпохи «н. э.» 1
- пролептический год 0 = год эпохи «до н. э.» 1
- пролептический год -1 = год эпохи «до н. э.» 2

Обратите внимание, что стандарт ISO-8601 фактически не определяет эпохи. Обратите также внимание, что эпохи ISO не совпадают со знакомыми эпохами н. э./до н. э. из-за изменения между юлианским и григорианским календарями.

Системы календарей, не являющиеся 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 определены две эры: «до н. э.» и «н. э.». Эра «н. э.» — это текущая эра, и год эры варьируется от 1 до максимального значения. Эра «до н. э.» — это предыдущая эра, и год эры отсчитывается в обратном порядке. Подробный пример см. в 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 для представления доли секунды.

A Instant представляет собой мгновенную точку на временной шкале. Сами по себе мгновения содержат недостаточно информации, чтобы получить локальную дату и время. Только в сочетании со смещением или часовым поясом можно рассчитать локальную дату или время.

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

OFFSET_SECONDS

public static final ChronoField OFFSET_SECONDS

Смещение от UTC/Гринвича.

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

A 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

getDisplayName

public String getDisplayName(Locale locale)

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

Получает отображаемое имя для поля в запрошенном локали.

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

Реализация по умолчанию должна проверить, что локаль не равна null, и вернуть toString().

Задано в:
getDisplayName в интерфейсе TemporalField
Параметры:
locale - используемая локаль, не null
Возвращает:
отображаемое имя для локали или подходящее значение по умолчанию, не null

getBaseUnit

public TemporalUnit getBaseUnit()

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

Получает единицу измерения поля.

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

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

getRangeUnit

public TemporalUnit getRangeUnit()

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

Получает диапазон, которым ограничено поле.

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

Диапазон никогда не равен null. Например, поле 'Year' является сокращением для 'YearOfForever'. Поэтому оно имеет единицу измерения 'Годы' и диапазон 'Вечность'.

Задано в:
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 - временной объект для корректировки, не null
newValue - новое значение поля
Возвращает:
скорректированный временной объект, не null

toString

public String toString()

Описание скопировано из класса: Enum

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

Определено в:
toString в интерфейсе TemporalField
Переопределяет:
toString в классе Enum<ChronoField>
Возвращает:
имя этой константы перечисления

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

Spec-Zone.ru

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