Spec-Zone .ru
спецификации, руководства, описания, API
|
public enum ChronoUnit extends Enum<ChronoUnit> implements TemporalUnit
Этот набор модулей обеспечивает основанный на модуле доступ, чтобы управлять датой, время или разовый датой. Стандартный набор модулей может быть расширен, реализовывая TemporalUnit
.
Эти модули предназначаются, чтобы быть применимыми в многократных календарных системах. Например, большинство календарных систем не-ISO определяет модули лет, месяцев и дней, только с немного отличающимися правилами. Документация каждого модуля объясняет, как это работает.
Перечислимая Константа и Описание |
---|
СТОЛЕТИЯ
Модуль, который представляет понятие столетия.
|
ДНИ
Модуль, который представляет понятие дня.
|
ДЕСЯТИЛЕТИЯ
Модуль, который представляет понятие десятилетия.
|
ERA
Модуль, который представляет понятие эры.
|
НАВСЕГДА
Искусственный модуль, который представляет понятие навсегда.
|
HALF_DAYS
Модуль, который представляет понятие половины дня, как использующийся в,/PM.
|
ЧАСЫ
Модуль, который представляет понятие часа.
|
MICROS
Модуль, который представляет понятие микросекунды.
|
ТЫСЯЧЕЛЕТИЯ
Модуль, который представляет понятие тысячелетия.
|
MILLIS
Модуль, который представляет понятие миллисекунды.
|
МИНУТЫ
Модуль, который представляет понятие минуты.
|
МЕСЯЦЫ
Модуль, который представляет понятие месяца.
|
NANOS
Модуль, который представляет понятие наносекунды, самой маленькой поддерживаемой единицы времени.
|
СЕКУНДЫ
Модуль, который представляет понятие секунды.
|
НЕДЕЛИ
Модуль, который представляет понятие недели.
|
ГОДЫ
Модуль, который представляет понятие года.
|
Модификатор и Тип | Метод и Описание |
---|---|
<R extends Temporal> |
addTo(R temporal, long amount)
Возвращает копию указанного временного объекта с добавленным установленным периодом.
|
long |
between(Temporal temporal1, Temporal temporal2)
Вычисляет количество времени между двумя временными объектами.
|
Продолжительность |
getDuration()
Получает предполагаемую продолжительность этого модуля в календарной системе ISO.
|
Строка |
getName()
Получает описательное имя для модуля.
|
boolean |
isDateUnit()
Проверки, если этот модуль является модулем даты.
|
boolean |
isDurationEstimated()
Проверки, если продолжительность модуля является оценкой.
|
boolean |
isSupportedBy(Temporal temporal)
Проверки, если этот модуль поддерживается указанным временным объектом.
|
boolean |
isTimeUnit()
Проверки, если этот модуль является единицей измерения времени.
|
Строка |
toString()
Возвращает имя этой перечислимой константы, как содержащийся в объявлении.
|
static ChronoUnit |
valueOf(String name)
Возвращает перечислимую константу этого типа с указанным именем.
|
static ChronoUnit[] |
values()
Возвращает массив, содержащий константы этого перечислимого типа, в порядке, которым они объявляются.
|
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
public static final ChronoUnit NANOS
public static final ChronoUnit MICROS
public static final ChronoUnit MILLIS
public static final ChronoUnit SECONDS
public static final ChronoUnit MINUTES
public static final ChronoUnit HOURS
public static final ChronoUnit HALF_DAYS
public static final ChronoUnit DAYS
24 Hours
. Когда использующийся с другими календарными системами это должно соответствовать дню, определенному повышением и установкой Sun на Земле. Не требуется, что дни начинаются в полночь - преобразовывая между календарными системами, дата должна быть эквивалентной в полдень.
public static final ChronoUnit WEEKS
Когда использующийся с другими календарными системами это должно соответствовать целому числу дней.
public static final ChronoUnit MONTHS
365.2425 Days
. Когда использующийся с другими календарными системами это должно соответствовать целому числу дней.
public static final ChronoUnit YEARS
365.2425 Days
. Когда использующийся с другими календарными системами это должно соответствовать целому числу дней или месяцев, примерно равных году, определенному проходом Земли вокруг Sun.
public static final ChronoUnit DECADES
Когда использующийся с другими календарными системами это должно соответствовать целому числу дней и обычно является целым числом лет.
public static final ChronoUnit CENTURIES
Когда использующийся с другими календарными системами это должно соответствовать целому числу дней и обычно является целым числом лет.
public static final ChronoUnit MILLENNIA
Когда использующийся с другими календарными системами это должно соответствовать целому числу дней и обычно является целым числом лет.
public static final ChronoUnit ERAS
1,000,000,000 Years
. Когда использующийся с другими календарными системами нет никаких ограничений на модуль.
public static final ChronoUnit FOREVER
TemporalField
представлять неограниченные поля, такие как год или эра. Предполагаемая продолжительность эры искусственно определяется как самая большая продолжительность, поддерживаемая Duration
.public static ChronoUnit[] values()
for (ChronoUnit c : ChronoUnit.values()) System.out.println(c);
public static ChronoUnit valueOf(String name)
name
- имя перечислимой константы, которая будет возвращена.IllegalArgumentException
- если у этого перечислимого типа нет никакой константы с указанным именемNullPointerException
- если параметром является нульpublic String getName()
TemporalUnit
Это должно быть во множественном числе и верхнем первом Camel-регистре, таком как 'Дни' или 'Минуты'.
getName
в интерфейсе TemporalUnit
public Duration getDuration()
У всех модулей в этом class есть предполагаемая продолжительность. Дни изменяются из-за летнего времени, в то время как у месяцев есть различные длины.
getDuration
в интерфейсе TemporalUnit
public boolean isDurationEstimated()
Все единицы измерения времени в этом class, как полагают, точны, в то время как все модули даты в этом class, как полагают, оцениваются.
Это определение игнорирует секунды прыжка, но полагает, что Дни изменяются из-за летнего времени, и у месяцев есть различные длины.
isDurationEstimated
в интерфейсе TemporalUnit
public boolean isDateUnit()
public boolean isTimeUnit()
public boolean isSupportedBy(Temporal temporal)
TemporalUnit
Это проверяет, что разовая датой реализация может добавить/вычесть этот модуль. Это может использоваться, чтобы избежать выдавать исключение.
Эта реализация по умолчанию получает использование значения Temporal.plus(long, TemporalUnit)
.
isSupportedBy
в интерфейсе TemporalUnit
temporal
- временный объект проверить, не нуль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
- временный объект скорректировать, не нульamount
- количество этого модуля, чтобы добавить, положительный или отрицательныйpublic long between(Temporal temporal1, Temporal temporal2)
TemporalUnit
Это вычисляет количество с точки зрения этого модуля. Запуск и конечные точки предоставляются как временные объекты и должны иметь тот же самый тип. Результат будет отрицателен, если конец будет перед запуском. Например, количество в часах между двумя временными объектами может быть вычислено, используя HOURS.between(startTime, endTime)
.
Вычисление возвращает целое число, представляя число полных модулей между двумя temporals. Например, количество в часах между временами 11:30 и 13:29 только будет одним часом, поскольку это - одна минута за исключением двух часов.
Есть два эквивалентных способа использовать этот метод. Первое должно вызвать этот метод непосредственно. Второе должно использовать Temporal.periodUntil(Temporal, TemporalUnit)
:
// these two lines are equivalent between = thisUnit.between(start, end); between = start.periodUntil(end, thisUnit);Выбор должен быть сделан основанный, которого делает код более читаемым.
Например, этот метод позволяет числу дней между двумя датами быть вычисленным:
long daysBetween = DAYS.between(start, end); // or alternatively long daysBetween = start.periodUntil(end, DAYS);
Реализации должны выполнить любые запросы или вычисления, используя модули, доступные в ChronoUnit
или поля, доступные в ChronoField
. Если модуль не поддерживается UnsupportedTemporalTypeException
должен быть брошен. Реализации не должны изменить указанные временные объекты.
between
в интерфейсе TemporalUnit
temporal1
- основной временный объект, не нульtemporal2
- другой временный объект, не нульpublic String toString()
Enum
toString
в интерфейсе TemporalUnit
toString
в class Enum<ChronoUnit>
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92