Spec-Zone.ru › OpenJDK 8

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

  • java.lang.Object
    • java.lang.Enum<ChronoUnit>
      • java.time.temporal.ChronoUnit
Все реализуемые интерфейсы:
Serializable, Comparable<ChronoUnit>, TemporalUnit

public enum ChronoUnit
extends Enum<ChronoUnit>
implements TemporalUnit

Стандартный набор единиц периодов дат.

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

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

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

Постоянные значения перечисления

Постоянное значение перечисления и описание
CENTURIES

Единица, представляющая понятие столетия.

DAYS

Единица, представляющая понятие дня.

DECADES

Единица, представляющая понятие десятилетия.

ERAS

Единица, представляющая понятие эры.

FOREVER

Искусственная единица, представляющая понятие вечности.

HALF_DAYS

Единица, представляющая понятие половины дня, используемой в AM/PM.

HOURS

Единица, представляющая понятие часа.

MICROS

Единица, представляющая понятие микросекунды.

MILLENNIA

Единица, представляющая понятие тысячелетия.

MILLIS

Единица, представляющая понятие миллисекунды.

MINUTES

Единица, представляющая понятие минуты.

MONTHS

Единица, представляющая понятие месяца.

NANOS

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

SECONDS

Единица, представляющая понятие секунды.

WEEKS

Единица, представляющая понятие недели.

YEARS

Единица, представляющая понятие года.

Методы

Модификатор и тип Метод и описание
<R extends Temporal>
R
addTo(R temporal, long amount)

Возвращает копию указанного временного объекта с добавленным указанным периодом.

long between(Temporal temporal1Inclusive, Temporal temporal2Exclusive)

Вычисляет количество времени между двумя временными объектами.

Duration getDuration()

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

boolean isDateBased()

Проверяет, является ли эта единица единицей даты.

boolean isDurationEstimated()

Проверяет, является ли продолжительность единицы приблизительной.

boolean isSupportedBy(Temporal temporal)

Проверяет, поддерживается ли эта единица указанным временным объектом.

boolean isTimeBased()

Проверяет, является ли эта единица единицей времени.

String toString()

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

static ChronoUnit valueOf(String name)

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

static ChronoUnit[] values()

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

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

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

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

getClass, notify, notifyAll, wait, wait, wait

Постоянные значения перечисления

НАНОСЕКУНДЫ

public static final ChronoUnit NANOS

Единица, представляющая понятие наносекунды, наименьшей поддерживаемой единицы времени. Для календарной системы ISO она равна 1/1 000 000 000 секунды.

МИКРОСЕКУНДЫ

public static final ChronoUnit MICROS

Единица, представляющая понятие микросекунды. Для календарной системы ISO она равна 1/1 000 000 секунды.

МИЛЛИСЕКУНДЫ

public static final ChronoUnit MILLIS

Единица, представляющая понятие миллисекунды. Для календарной системы ISO она равна 1/1000 секунды.

СЕКУНДЫ

public static final ChronoUnit SECONDS

Единица, представляющая понятие секунды. Для календарной системы ISO она равна секунде в системе СИ, за исключением високосных секунд.

МИНУТЫ

public static final ChronoUnit MINUTES

Единица, представляющая понятие минуты. Для календарной системы ISO она равна 60 секундам.

ЧАСЫ

public static final ChronoUnit HOURS

Единица, представляющая понятие часа. Для календарной системы ISO она равна 60 минутам.

ПОЛУСУТОК

public static final ChronoUnit HALF_DAYS

Единица, представляющая понятие половины суток, используемая в обозначении AM/PM. Для календарной системы ISO она равна 12 часам.

ДНИ

public static final ChronoUnit DAYS

Единица, представляющая понятие дня. Для календарной системы ISO это стандартный день с полуночи до полуночи. Приблизительная продолжительность дня составляет 24 Hours.

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

НЕДЕЛИ

public static final ChronoUnit WEEKS

Единица, представляющая понятие недели. Для календарной системы ISO она равна 7 дням.

При использовании с другими календарными системами она должна соответствовать целому числу дней.

МЕСЯЦЫ

public static final ChronoUnit MONTHS

Единица, представляющая понятие месяца. Для календарной системы ISO длина месяца варьируется в зависимости от месяца года. Приблизительная продолжительность месяца составляет одну двенадцатую от 365.2425 Days.

При использовании с другими календарными системами она должна соответствовать целому числу дней.

ГОДЫ

public static final ChronoUnit YEARS

Единица, представляющая понятие года. Для календарной системы ISO она равна 12 месяцам. Приблизительная продолжительность года составляет 365.2425 Days.

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

ДЕСЯТИЛЕТИЯ

public static final ChronoUnit DECADES

Единица, представляющая понятие десятилетия. Для календарной системы ISO оно равно 10 годам.

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

ВЕКА

public static final ChronoUnit CENTURIES

Единица, представляющая понятие века. Для календарной системы ISO оно равно 100 годам.

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

ТЫСЯЧЕЛЕТИЯ

public static final ChronoUnit MILLENNIA

Единица, представляющая понятие тысячелетия. Для календарной системы ISO оно равно 1000 годам.

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

ЭРЫ

public static final ChronoUnit ERAS

Единица, представляющая понятие эры. Календарная система ISO не имеет эр, поэтому добавление эры к дате или дате-времени невозможно. Приблизительная продолжительность эры искусственно определена как 1,000,000,000 Years.

При использовании с другими календарными системами нет ограничений на единицу.

ВСЕГДА

public static final ChronoUnit FOREVER

Искусственная единица, представляющая понятие «всегда». Она в основном используется с TemporalField для представления неограниченных полей, таких как год или эра. Приблизительная продолжительность эры искусственно определена как наибольшая продолжительность, поддерживаемая Duration.

Методы

values

public static ChronoUnit[] values()

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

for (ChronoUnit c : ChronoUnit.values())
    System.out.println(c);

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

valueOf

public static ChronoUnit valueOf(String name)

Возвращает постоянное значение перечисления этого типа с заданным именем. Строка должна точно совпадать с идентификатором, используемым для объявления постоянного значения перечисления в этом типе. (Дополнительные пробельные символы не допускаются.)

Параметры:
name - имя постоянного значения перечисления, которое должно быть возвращено.
Возвращает:
постоянное значение перечисления с заданным именем
Исключения:
IllegalArgumentException - если в этом типе перечисления нет постоянного значения с заданным именем
NullPointerException - если аргумент равен null

getDuration

public Duration getDuration()

Возвращает приблизительную продолжительность этой единицы в календарной системе ISO.

Все единицы в этом классе имеют приблизительную продолжительность. Дни меняются из-за летнего времени, а месяцы имеют разную длину.

Определено в:
getDuration в интерфейсе TemporalUnit
Возвращает:
приблизительная продолжительность этой единицы, не null

isDurationEstimated

public boolean isDurationEstimated()

Проверяет, является ли продолжительность единицы приблизительной.

Все единицы времени в этом классе считаются точными, а все единицы дат в этом классе — приблизительными.

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

Определено в:
isDurationEstimated в интерфейсе TemporalUnit
Возвращает:
true, если продолжительность приблизительная, false — если точная

isDateBased

public boolean isDateBased()

Проверяет, является ли эта единица единицей даты.

Все единицы от дней до эр включительно являются единицами даты. Единицы времени и FOREVER возвращают false.

Определено в:
isDateBased в интерфейсе TemporalUnit
Возвращает:
true, если единица даты, false — если единица времени

isTimeBased

public boolean isTimeBased()

Проверяет, является ли эта единица единицей времени.

Все единицы от наносекунд до полусуток включительно являются единицами времени. Единицы даты и FOREVER возвращают false.

Определено в:
isTimeBased в интерфейсе TemporalUnit
Возвращает:
true, если единица времени, false — если единица даты

isSupportedBy

public boolean isSupportedBy(Temporal temporal)

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

Проверяет, поддерживается ли эта единица указанным временным объектом.

Проверяется, может ли реализуемая дата-время добавлять/вычитать эту единицу. Это может быть использовано для предотвращения исключения.

Эта реализация по умолчанию получает значение с помощью Temporal.plus(long, TemporalUnit).

Определено в:
isSupportedBy в интерфейсе TemporalUnit
Параметры:
temporal - временной объект для проверки, не null
Возвращает:
true, если единица поддерживается

addTo

public <R extends Temporal> R addTo(R temporal,
                                    long amount)

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

Возвращает копию указанного временного объекта с добавленным указанным периодом.

Добавляемый период — это кратное этой единицы. Например, этот метод можно использовать для добавления "3 дней" к дате, вызвав этот метод для экземпляра, представляющего "дни", передав дату и период "3". Добавляемый период может быть отрицательным, что эквивалентно вычитанию.

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

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

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

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

Определено в:
addTo в интерфейсе TemporalUnit
Параметры типа:
R - тип временного объекта
Параметры:
temporal - временной объект для корректировки, не null
amount - количество этой единицы для добавления, положительное или отрицательное
Возвращает:
откорректированный временной объект, не null

between

public long between(Temporal temporal1Inclusive,
                    Temporal temporal2Exclusive)

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

Вычисляет временной интервал между двумя временными объектами.

Это вычисляет величину в данном формате. Начальная и конечная точки предоставляются как временные объекты и должны быть совместимых типов. Реализация преобразует второй тип в экземпляр первого типа перед вычислением величины. Результат будет отрицательным, если конечная точка предшествует начальной. Например, величину в часах между двумя временными объектами можно вычислить, используя HOURS.between(startTime, endTime).

Вычисление возвращает целое число, представляющее количество полных единиц между двумя временными точками. Например, количество часов между 11:30 и 13:29 составит только один час, так как до двух часов не хватает одной минуты.

Этот метод можно использовать двумя равнозначными способами. Первый — вызвать этот метод напрямую. Второй — использовать Temporal.until(Temporal, TemporalUnit):

// these two lines are equivalent
   between = thisUnit.between(start, end);
   between = start.until(end, thisUnit);
Выбор должен быть сделан на основе того, что делает код более читабельным.

Например, с помощью этого метода можно вычислить количество дней между двумя датами:

long daysBetween = DAYS.between(start, end);
  // or alternatively
  long daysBetween = start.until(end, DAYS);

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

Определено в:
between в интерфейсе TemporalUnit
Параметры:
temporal1Inclusive - базовый временной объект, не null
temporal2Exclusive - другой временной объект, исключая, не null
Возвращает:
величину времени между temporal1Inclusive и temporal2Exclusive в терминах этой единицы; положительное значение, если temporal2Exclusive позже, чем temporal1Inclusive, отрицательное, если раньше

toString

public String toString()

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

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

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

© 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