|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class Period extends Object implements TemporalAmount, Serializable
Этот class моделирует количество или количество времени с точки зрения лет, месяцев и дней. См. Duration для основанного на времени эквивалента этому class.
Продолжительности и период отличаются по их обработке летнего времени когда добавлено к ZonedDateTime. A Duration добавит точное число секунд, таким образом продолжительность одного дня является всегда точно 24 часами. В отличие от этого, a Period добавит концептуальный день, пытаясь поддержать местное время.
Например, рассмотрите добавление периода одного дня и продолжительности одного дня к 18:00 вечером перед разрывом перехода на летнее время. Period добавит концептуальный день и приведет к a ZonedDateTime в 18:00 на следующий день. В отличие от этого, Duration добавит точно 24 часа, приводящие к a ZonedDateTime в 19:00 на следующий день (принимающий один разрыв DST часа).
Поддерживаемые модули периода YEARS, MONTHS и DAYS. Все три поля всегда присутствуют, но могут быть обнулены.
Период может использоваться с любой календарной системой. Значение "года" или "месяца" только применяется, когда объект добавляется к дате.
Период моделируется как направленное количество времени, означая, что отдельные части периода могут быть отрицательными.
Месяцы и поля лет могут быть нормализованы. Нормализация принимает 12-месячный год, так не является подходящим для всех календарных систем.
| Модификатор и Тип | Метод и Описание |
|---|---|
Временный |
addTo(Temporal temporal)
Добавляет этот период к указанному временному объекту.
|
static Period |
between(LocalDate startDate, LocalDate endDate)
Получает a
Period состоя из числа лет, месяцев, и дней между двумя датами. |
boolean |
equals(Object obj)
Проверки, если этот период равен другому периоду.
|
static Period |
from(TemporalAmount amount)
Получает экземпляр
Period от временного количества. |
long |
get(TemporalUnit unit)
Получает значение требуемого модуля.
|
int |
getDays()
Получает количество дней этого периода.
|
int |
getMonths()
Получает количество месяцев этого периода.
|
List<TemporalUnit> |
getUnits()
Получает набор модулей, поддерживаемых к этому периоду.
|
int |
getYears()
Получает количество лет этого периода.
|
int |
hashCode()
Хэш-код в течение этого периода.
|
boolean |
isNegative()
Проверки, если какой-либо из трех модулей этого периода отрицателен.
|
boolean |
isZero()
Проверки, если все три модуля этого периода являются нулем.
|
Период |
minus(Period amountToSubtract)
Возвращает копию этого периода с вычтенным установленным периодом.
|
Период |
minusDays(long daysToSubtract)
Возвращает копию этого периода с указанными вычтенными днями.
|
Период |
minusMonths(long monthsToSubtract)
Возвращает копию этого периода с указанными вычтенными месяцами.
|
Период |
minusYears(long yearsToSubtract)
Возвращает копию этого периода с указанными вычтенными годами.
|
Период |
multipliedBy(int scalar)
Возвращает новый экземпляр с каждым элементом в этот период, умноженный на указанный скаляр.
|
Период |
negated()
Возвращает новый экземпляр с каждым количеством в этот отрицаемый период.
|
Период |
normalized()
Возвращает копию этого периода с годами, и месяцы нормализовали использование 12-месячного года.
|
static Period |
of(int years, int months, int days)
Получает a
Period представляя много лет, месяцев и дней. |
static Period |
ofDays(int days)
Получает a
Period представление многих дней. |
static Period |
ofMonths(int months)
Получает a
Period представление многих месяцев. |
static Period |
ofYears(int years)
Получает a
Period представление многих лет. |
static Period |
parse(CharSequence text)
Получает a
Period от текстовой строки такой как PnYnMnD. |
Период |
plus(Period amountToAdd)
Возвращает копию этого периода с добавленным установленным периодом.
|
Период |
plusDays(long daysToAdd)
Возвращает копию этого периода с указанными добавленными днями.
|
Период |
plusMonths(long monthsToAdd)
Возвращает копию этого периода с указанными добавленными месяцами.
|
Период |
plusYears(long yearsToAdd)
Возвращает копию этого периода с указанными добавленными годами.
|
Временный |
subtractFrom(Temporal temporal)
Вычитает этот период из указанного временного объекта.
|
Строка |
toString()
Выводит этот период как a
String, такой как P6Y3M1D. |
long |
toTotalMonths()
Получает общее количество месяцев в этот период, используя 12-месячный год.
|
Период |
withDays(int days)
Возвращает копию этого периода с указанным количеством дней.
|
Период |
withMonths(int months)
Возвращает копию этого периода с указанным количеством месяцев.
|
Период |
withYears(int years)
Возвращает копию этого периода с указанным количеством лет.
|
public static final Period ZERO
public static Period ofYears(int years)
Period представление многих лет. У получающегося периода будут указанные годы. Месяцы и дневные модули будут нулем.
years - число лет, положительных или отрицательныхpublic static Period ofMonths(int months)
Period представление многих месяцев. У получающегося периода будут указанные месяцы. Годы и дневные модули будут нулем.
months - число месяцев, положительных или отрицательныхpublic static Period ofDays(int days)
Period представление многих дней. У получающегося периода будут указанные дни. Годы и модули месяцев будут нулем.
days - число дней, положительных или отрицательныхpublic static Period of(int years, int months, int days)
Period представляя много лет, месяцев и дней. Это создает экземпляр, основанный на годах, месяцах и днях.
years - количество лет, может быть отрицательнымmonths - количество месяцев, может быть отрицательнымdays - количество дней, может быть отрицательнымpublic static Period from(TemporalAmount amount)
Period от временного количества. Это получает период, основанный на указанном количестве. A TemporalAmount представляет количество времени, которое может быть основано на дате или основано на времени, который эта фабрика извлекает к периоду.
Циклы преобразования вокруг набора модулей от количества и использования YEARS, MONTHS и DAYS модули, чтобы создать период. Если какие-либо другие модули находятся тогда, исключение выдается.
amount - временное количество, чтобы преобразовать, не нульDateTimeException - если неспособный преобразовать в a PeriodArithmeticException - если количество лет, месяцы или дни превышают интервалpublic static Period parse(CharSequence text)
Period от текстовой строки такой как PnYnMnD. Это проанализирует строку, произведенную toString() который основан на формате периода ISO 8601 PnYnMnD.
Строка запускается с дополнительного знака, обозначенного ASCII отрицательный или положительный символ. Если отрицание, целый период отрицается. Буква "P" ASCII является следующей в верхнем регистре или нижнем регистре. Есть тогда три раздела, каждый состоящий из числа и суффикса. По крайней мере один из этих трех разделов должен присутствовать. У разделов есть суффиксы в ASCII "Y", "M" и "D" в течение многих лет, месяцев и дней, принятых в верхнем регистре или нижнем регистре. Суффиксы должны произойти в порядке. Часть числа каждого раздела должна состоять из цифр ASCII. Число может быть снабжено префиксом ASCII отрицательный или положительный символ. Число должно проанализировать к int.
Продвижение плюс/знак "минус", и отрицательные величины для других модулей не является частью стандарта ISO 8601.
text - текст, чтобы проанализировать, не нульDateTimeParseException - если текст не может быть проанализирован к периодуpublic static Period between(LocalDate startDate, LocalDate endDate)
Period состоя из числа лет, месяцев, и дней между двумя датами. Дата начала включается, но дата окончания не. Период вычисляется, удаляя полные месяцы, тогда вычисляя остающееся число дней, корректируясь, чтобы гарантировать, что у обоих есть тот же самый знак. Число месяцев тогда разделяется на годы и месяцы, основанные на 12-месячном году. Месяц рассматривают, если день-месячного конца больше чем или равен дню-месячного запуска. Например, от 2010-01-15 к 2011-03-18 один год, два месяца и три дня.
Результатом этого метода может быть отрицательный период, если конец перед запуском. Знак минус будет тем же самым в каждом годе, месяце и дне.
startDate - дата начала, включительно, не нульendDate - дата окончания, монопольная, не нулевойChronoLocalDate.periodUntil(ChronoLocalDate)public long get(TemporalUnit unit)
Это возвращает значение для каждого из трех поддерживаемых модулей, YEARS, MONTHS и DAYS. Все другие модули выдают исключение.
get в интерфейсе TemporalAmountunit - TemporalUnit для которого можно возвратить значениеDateTimeException - если модуль не поддерживаетсяUnsupportedTemporalTypeException - если модуль не поддерживаетсяpublic List<TemporalUnit> getUnits()
Поддерживаемые модули YEARS, MONTHS и DAYS. Они возвращаются в годах порядка, месяцы, дни.
Этот набор может использоваться в соединении с get(TemporalUnit) получить доступ ко всему состоянию периода.
getUnits в интерфейсе TemporalAmountpublic boolean isZero()
У нулевого периода есть нуль значения в течение лет, месяцев и дневных модулей.
public boolean isNegative()
Это проверяет, являются ли годы, месяцы или дневные модули меньше чем нуль.
public int getYears()
Это возвращает модуль лет.
Модуль месяцев не нормализуется с модулем лет. Это означает, что период "15 месяцев" отличается от периода "1 года и 3 месяцев".
public int getMonths()
Это возвращает модуль месяцев.
Модуль месяцев не нормализуется с модулем лет. Это означает, что период "15 месяцев" отличается от периода "1 года и 3 месяцев".
public int getDays()
Это возвращает дневной модуль.
public Period withYears(int years)
Это устанавливает количество модуля лет в копии этого периода. Месяцы и дневные модули незатронуты.
Модуль месяцев не нормализуется с модулем лет. Это означает, что период "15 месяцев" отличается от периода "1 года и 3 месяцев".
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
years - годы, чтобы представить, может быть отрицательнымPeriod основанный на этом периоде с требуемыми годами, не нулеpublic Period withMonths(int months)
Это устанавливает количество модуля месяцев в копии этого периода. Годы и дневные модули незатронуты.
Модуль месяцев не нормализуется с модулем лет. Это означает, что период "15 месяцев" отличается от периода "1 года и 3 месяцев".
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
months - месяцы, чтобы представить, может быть отрицательнымPeriod основанный на этом периоде с требуемыми месяцами, не нулеpublic Period withDays(int days)
Это устанавливает количество дневного модуля в копии этого периода. Годы и модули месяцев незатронуты.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
days - дни, чтобы представить, может быть отрицательнымPeriod основанный на этом периоде с требуемыми днями, не нулеpublic Period plus(Period amountToAdd)
Это работает отдельно в годы, месяцы и дни.
Например, "1 год, 6 месяцев и 3 дня" плюс "2 года, 2 месяца и 2 дня" возвращают "3 года, 8 месяцев и 5 дней".
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
amountToAdd - период, чтобы добавить, не нульPeriod основанный на этом периоде с требуемым периодом добавил, не нульArithmeticException - если числовое переполнение происходитpublic Period plusYears(long yearsToAdd)
Это добавляет количество к модулю лет в копии этого периода. Месяцы и дневные модули незатронуты. Например, "1 год, 6 месяцев и 3 дня" плюс 2 года возвращают "3 года, 6 месяцев и 3 дня".
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
yearsToAdd - годы, чтобы добавить, положительный или отрицательныйPeriod основанный на этом периоде с указанными годами добавил, не нульArithmeticException - если числовое переполнение происходитpublic Period plusMonths(long monthsToAdd)
Это добавляет количество к модулю месяцев в копии этого периода. Годы и дневные модули незатронуты. Например, "1 год, 6 месяцев и 3 дня" плюс 2 месяца возвращают "1 год, 8 месяцев и 3 дня".
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
monthsToAdd - месяцы, чтобы добавить, положительный или отрицательныйPeriod основанный на этом периоде с указанными месяцами добавил, не нульArithmeticException - если числовое переполнение происходитpublic Period plusDays(long daysToAdd)
Это добавляет количество к дневному модулю в копии этого периода. Годы и модули месяцев незатронуты. Например, "1 год, 6 месяцев и 3 дня" плюс 2 дня возвращают "1 год, 6 месяцев и 5 дней".
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
daysToAdd - дни, чтобы добавить, положительный или отрицательныйPeriod основанный на этом периоде с указанными днями добавил, не нульArithmeticException - если числовое переполнение происходитpublic Period minus(Period amountToSubtract)
Это работает отдельно в годы, месяцы и дни.
Например, "1 год, 6 месяцев и 3 дня" минус "2 года, 2 месяца и 2 дня" возвращают "-1 год, 4 месяца и 1 день".
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
amountToSubtract - период, чтобы вычесть, не нульPeriod основанный на этом периоде с требуемым вычтенным периодом, не нульArithmeticException - если числовое переполнение происходитpublic Period minusYears(long yearsToSubtract)
Это вычитает количество из модуля лет в копии этого периода. Месяцы и дневные модули незатронуты. Например, "1 год, 6 месяцев и 3 дня" минус 2 года возвращают "-1 год, 6 месяцев и 3 дня".
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
yearsToSubtract - годы, чтобы вычесть, положительный или отрицательныйPeriod основанный на этом периоде с указанными вычтенными годами, не нульArithmeticException - если числовое переполнение происходитpublic Period minusMonths(long monthsToSubtract)
Это вычитает количество из модуля месяцев в копии этого периода. Годы и дневные модули незатронуты. Например, "1 год, 6 месяцев и 3 дня" минус 2 месяца возвращают "1 год, 4 месяца и 3 дня".
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
monthsToSubtract - годы, чтобы вычесть, положительный или отрицательныйPeriod основанный на этом периоде с указанными вычтенными месяцами, не нульArithmeticException - если числовое переполнение происходитpublic Period minusDays(long daysToSubtract)
Это вычитает количество из дневного модуля в копии этого периода. Годы и модули месяцев незатронуты. Например, "1 год, 6 месяцев и 3 дня" минус 2 дня возвращают "1 год, 6 месяцев и 1 день".
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
daysToSubtract - месяцы, чтобы вычесть, положительный или отрицательныйPeriod основанный на этом периоде с указанными вычтенными днями, не нульArithmeticException - если числовое переполнение происходитpublic Period multipliedBy(int scalar)
Это возвращает период с каждым из лет, месяцев и дневных модулей, индивидуально умноженных. Например, период "2 лет,-3 месяцев и 4 дней", умноженных на 3, возвратит "6 лет,-9 месяцев и 12 дней". Никакая нормализация не выполняется.
scalar - скаляр, чтобы умножить на, не нульPeriod основанный на этом периоде с количеством, умноженным на скаляр, не нульArithmeticException - если числовое переполнение происходитpublic Period negated()
Это возвращает период с каждым из лет, месяцев и дневных модулей, индивидуально отрицаемых. Например, период "2 лет,-3 месяцев и 4 дней" будет отрицаться к "-2 годам, 3 месяцам и-4 дням". Никакая нормализация не выполняется.
Period основанный на этом периоде с отрицаемым количеством, не нульArithmeticException - если числовое переполнение происходит, который только происходит, если у одного из модулей есть значение Long.MIN_VALUEpublic Period normalized()
Это нормализует годы и модули месяцев, оставляя дневной неизменный модуль. Модуль месяцев корректируется, чтобы иметь абсолютное значение меньше чем 11 с модулем лет, скорректированным, чтобы компенсировать. Например, период "1 Года и 15 месяцев" будет нормализован к "2 годам и 3 месяцам".
Знак лет и модулей месяцев будет тем же самым после нормализации. Например, период "1 года и-25 месяцев" будет нормализован к "-1 году и-1 месяцу".
Эта нормализация использует 12-месячный год, который не допустим для всех календарных систем.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
Period основанный на этом периоде с избыточными месяцами, нормализованными к годам, не нулюArithmeticException - если числовое переполнение происходитpublic long toTotalMonths()
Это возвращает общее количество месяцев в период, умножая число лет 12 и добавляя число месяцев.
Это использует 12-месячный год, который не допустим для всех календарных систем.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
public Temporal addTo(Temporal temporal)
Это возвращает временный объект того же самого заметного типа как ввод с этим добавленным периодом.
В большинстве случаев это является более четким, чтобы инвертировать образец вызова при использовании Temporal.plus(TemporalAmount).
// these two lines are equivalent, but the second approach is recommended dateTime = thisPeriod.addTo(dateTime); dateTime = dateTime.plus(thisPeriod);
Вычисление добавит годы, тогда месяцы, тогда дни. Только ненулевое количество будет добавлено. Если у разового датой будет календарная система с постоянным числом месяцев через год, то годы и месяцы будут объединены прежде, чем быть добавленным.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
addTo в интерфейсе TemporalAmounttemporal - временный объект скорректировать, не нульDateTimeException - если неспособный добавитьArithmeticException - если числовое переполнение происходитpublic Temporal subtractFrom(Temporal temporal)
Это возвращает временный объект того же самого заметного типа как ввод с этим вычтенным периодом.
В большинстве случаев это является более четким, чтобы инвертировать образец вызова при использовании Temporal.minus(TemporalAmount).
// these two lines are equivalent, but the second approach is recommended dateTime = thisPeriod.subtractFrom(dateTime); dateTime = dateTime.minus(thisPeriod);
Вычисление вычтет годы, тогда месяцы, тогда дни. Только ненулевое количество будет вычтено. Если у разового датой будет календарная система с постоянным числом месяцев через год, то годы и месяцы будут объединены прежде, чем быть вычтенным.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
subtractFrom в интерфейсе TemporalAmounttemporal - временный объект скорректировать, не нульDateTimeException - если неспособный вычитатьArithmeticException - если числовое переполнение происходитpublic boolean equals(Object obj)
Сравнение основано на количестве, сохраненном в период. Чтобы быть равными, годы, месяцы и дневные модули должны быть индивидуально равными. Отметьте, что это означает, что период "15 Месяцев" не равен периоду "1 Года и 3 Месяцев".
equals в class Objectobj - объект проверить, обнулите, возвращает falseObject.hashCode(), HashMappublic int hashCode()
hashCode в class ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92