Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class YearMonth extends Object implements Temporal, TemporalAdjuster, Comparable<YearMonth>, Serializable
2007-12
.
YearMonth
неизменный разовый датой объект, который представляет комбинацию года и месяца. Любое поле, которое может быть получено с года и месяца, такого как четверть-летнего, может быть получено.
Этот class не хранит или представляет день, время или часовой пояс. Например, значение "октябрь 2007" может быть сохранено в a YearMonth
.
Календарная система ISO 8601 является современной гражданской календарной системой, используемой сегодня в большей части мира. Это эквивалентно преждевременной системе Григорианского календаря, в которой сегодняшние правила в течение многих високосных годов применяются навсегда. Для большинства приложений, записанных сегодня, правила ISO 8601 являются полностью подходящими. Однако, любое приложение, которое использует исторические даты, и требует, чтобы они были точны, сочтет подход ISO 8601 неподходящим.
Модификатор и Тип | Метод и Описание |
---|---|
Временный |
adjustInto(Temporal temporal)
Корректирует указанный временный объект иметь это месячное годом.
|
LocalDate |
atDay(int dayOfMonth)
Комбинирует это месячное годом со днем-месячного, чтобы создать a
LocalDate . |
LocalDate |
atEndOfMonth()
Возвраты a
LocalDate в конце месяца. |
int |
compareTo(YearMonth other)
Сравнивает это месячное годом с другим месячным годом.
|
boolean |
equals(Object obj)
Проверки, если это месячное годом равно другому месячному годом.
|
Строка |
format(DateTimeFormatter formatter)
Форматы это месячное годом использование указанного средства форматирования.
|
static YearMonth |
from(TemporalAccessor temporal)
Получает экземпляр
YearMonth от временного объекта. |
int |
get(TemporalField field)
Получает значение указанного поля от этого месячного годом как
int . |
long |
getLong(TemporalField field)
Получает значение указанного поля от этого месячного годом как a
long . |
Месяц |
getMonth()
Получает поле месяца-летнего, используя
Month перечисление. |
int |
getMonthValue()
Получает поле месяца-летнего от 1 до 12.
|
int |
getYear()
Получает поле года.
|
int |
hashCode()
Хэш-код для этого месячного годом.
|
boolean |
isAfter(YearMonth other)
Это месячное годом после указанного месячного годом.
|
boolean |
isBefore(YearMonth other)
Это месячное годом перед указанным месячным годом.
|
boolean |
isLeapYear()
Проверки, если год является високосным годом согласно ISO преждевременные календарные системные правила.
|
boolean |
isSupported(TemporalField field)
Проверки, если указанное поле поддерживается.
|
boolean |
isValidDay(int dayOfMonth)
Проверки, если день-месячного допустим для этого месячного годом.
|
int |
lengthOfMonth()
Возвращает продолжительность месяца, принимая во внимание год.
|
int |
lengthOfYear()
Возвращает продолжительность года.
|
YearMonth |
minus(long amountToSubtract, TemporalUnit unit)
Возвращает копию этого месячного годом с указанным вычтенным количеством.
|
YearMonth |
minus(TemporalAmount amountToSubtract)
Возвращает копию этого месячного годом с указанным вычтенным количеством.
|
YearMonth |
minusMonths(long monthsToSubtract)
Возвращает копию этого месячного годом с установленным периодом в вычтенных месяцах.
|
YearMonth |
minusYears(long yearsToSubtract)
Возвращает копию этого месячного годом с установленным периодом в вычтенных годах.
|
static YearMonth |
now()
Получает ток, месячный годом из системных часов в часовом поясе значения по умолчанию.
|
static YearMonth |
now(Clock clock)
Получает ток, месячный годом из указанных часов.
|
static YearMonth |
now(ZoneId zone)
Получает ток, месячный годом из системных часов в указанном часовом поясе.
|
static YearMonth |
of(int year, int month)
Получает экземпляр
YearMonth с года и месяца. |
static YearMonth |
of(int year, Month month)
Получает экземпляр
YearMonth с года и месяца. |
static YearMonth |
parse(CharSequence text)
Получает экземпляр
YearMonth от текстовой строки такой как 2007-12 . |
static YearMonth |
parse(CharSequence text, DateTimeFormatter formatter)
Получает экземпляр
YearMonth от текстовой строки, используя определенное средство форматирования. |
long |
periodUntil(Temporal endYearMonth, TemporalUnit unit)
Вычисляет количество времени до другого месячного годом с точки зрения указанного модуля.
|
YearMonth |
plus(long amountToAdd, TemporalUnit unit)
Возвращает копию этого месячного годом с указанным добавленным количеством.
|
YearMonth |
plus(TemporalAmount amountToAdd)
Возвращает копию этого месячного годом с указанным добавленным количеством.
|
YearMonth |
plusMonths(long monthsToAdd)
Возвращает копию этого месячного годом с установленным периодом в добавленных месяцах.
|
YearMonth |
plusYears(long yearsToAdd)
Возвращает копию этого месячного годом с установленным периодом в добавленных годах.
|
<R> R |
query(TemporalQuery<R> query)
Запросы это месячное годом использование указанного запроса.
|
ValueRange |
range(TemporalField field)
Получает диапазон допустимых значений для указанного поля.
|
Строка |
toString()
Выводит это месячное годом как a
String , такой как 2007-12 . |
YearMonth |
with(TemporalAdjuster adjuster)
Возвращает скорректированную копию этого месячного годом.
|
YearMonth |
with(TemporalField field, long newValue)
Возвращает копию этого месячного годом с указанным полевым набором к новому значению.
|
YearMonth |
withMonth(int month)
Возвращает копию этого
YearMonth с измененным месяцем-летнего. |
YearMonth |
withYear(int year)
Возвращает копию этого
YearMonth с измененным годом. |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
dayOfWeekInMonth, firstDayOfMonth, firstDayOfNextMonth, firstDayOfNextYear, firstDayOfYear, firstInMonth, lastDayOfMonth, lastDayOfYear, lastInMonth, next, nextOrSame, ofDateAdjuster, previous, previousOrSame
public static YearMonth now()
Это запросит system clock
в часовом поясе значения по умолчанию, чтобы получить месячный годом ток. Зона и смещение будут установлены основанные на часовом поясе в часах.
Используя этот метод предотвратит возможность использовать альтернативные часы для того, чтобы протестировать, потому что часы трудно кодируются.
public static YearMonth now(ZoneId zone)
Это запросит system clock
получить месячный годом ток. Определение часового пояса избегает зависимости от часового пояса значения по умолчанию.
Используя этот метод предотвратит возможность использовать альтернативные часы для того, чтобы протестировать, потому что часы трудно кодируются.
zone
- зональный ID, чтобы использовать, не нульpublic static YearMonth now(Clock clock)
Это запросит указанные часы, чтобы получить месячный годом ток. Используя этот метод позволяет использование альтернативных часов для того, чтобы протестировать. Альтернативные часы могут быть представлены, используя dependency injection
.
clock
- часы, чтобы использовать, не нульpublic static YearMonth of(int year, Month month)
YearMonth
с года и месяца.year
- год, чтобы представить, от MIN_YEAR до MAX_YEARmonth
- месяц-летнего, чтобы представить, не нульDateTimeException
- если значение года недопустимоpublic static YearMonth of(int year, int month)
YearMonth
с года и месяца.year
- год, чтобы представить, от MIN_YEAR до MAX_YEARmonth
- месяц-летнего, чтобы представить, от 1 (январь) к 12 (декабрь)DateTimeException
- если любое значение поля недопустимоpublic static YearMonth from(TemporalAccessor temporal)
YearMonth
от временного объекта. Это получает месячное годом основанное на указанном временном. A TemporalAccessor
представляет произвольный набор даты и информации времени, из которой эта фабрика преобразовывает в экземпляр YearMonth
.
Преобразование извлекает YEAR
и MONTH_OF_YEAR
поля. Экстракция только разрешается, если временный объект имеет хронологию ISO, или может быть преобразован в a LocalDate
.
Этот метод соответствует подпись функционального интерфейса TemporalQuery
разрешение этого использоваться в запросах через ссылку метода, YearMonth::from
.
temporal
- временный объект преобразовать, не нульDateTimeException
- если неспособный преобразовать в a YearMonth
public static YearMonth parse(CharSequence text)
YearMonth
от текстовой строки такой как 2007-12
. Строка должна представить допустимое месячное годом. Формат должен быть uuuu-MM
. Годы вне диапазона 0000 к 9999 должны быть снабжены префиксом плюс или минус символ.
text
- текст, чтобы проанализировать такой как "2007-12", не нульDateTimeParseException
- если текст не может быть проанализированpublic static YearMonth parse(CharSequence text, DateTimeFormatter formatter)
YearMonth
от текстовой строки, используя определенное средство форматирования. Текст анализируется, используя средство форматирования, возвращая месячное годом.
text
- текст, чтобы проанализировать, не нульformatter
- средство форматирования, чтобы использовать, не нульDateTimeParseException
- если текст не может быть проанализированpublic boolean isSupported(TemporalField field)
Это проверяет, может ли это месячное годом быть запрошено для указанного поля. Если ложь, то вызов range
и get
методы выдадут исключение.
Если поле является a ChronoField
тогда запрос реализуется здесь. Поддерживаемые поля:
MONTH_OF_YEAR
PROLEPTIC_MONTH
YEAR_OF_ERA
YEAR
ERA
ChronoField
экземпляры возвратят false. Если поле не является a ChronoField
, тогда результат этого метода получается, вызывая TemporalField.isSupportedBy(TemporalAccessor)
передача this
как параметр. Поддерживается ли поле, определяется полем.
isSupported
в интерфейсе TemporalAccessor
field
- поле, чтобы проверить, обнулите, возвращает falsepublic ValueRange range(TemporalField field)
Объект диапазона выражает минимальные и максимальные допустимые значения для поля. Это месячное годом используется, чтобы улучшить точность возвращенного диапазона. Если не возможно возвратить диапазон, потому что поле не поддерживается или по некоторой другой причине, исключение выдается.
Если поле является a ChronoField
тогда запрос реализуется здесь. supported fields
возвратит соответствующие экземпляры диапазона. Все другой ChronoField
экземпляры бросят UnsupportedTemporalTypeException
.
Если поле не является a ChronoField
, тогда результат этого метода получается, вызывая TemporalField.rangeRefinedBy(TemporalAccessor)
передача this
как параметр. Может ли диапазон быть получен, определяется полем.
range
в интерфейсе TemporalAccessor
field
- поле, чтобы запросить диапазон для, не нульDateTimeException
- если диапазон для поля не может быть полученUnsupportedTemporalTypeException
- если поле не поддерживаетсяpublic int get(TemporalField field)
int
. Это запрашивает это месячное годом для значения для указанного поля. Возвращенное значение всегда будет в пределах допустимого диапазона значений для поля. Если не возможно возвратить значение, потому что поле не поддерживается или по некоторой другой причине, исключение выдается.
Если поле является a ChronoField
тогда запрос реализуется здесь. supported fields
возвратит допустимые значения, основанные на этом месячном годом, кроме PROLEPTIC_MONTH
который является слишком большим, чтобы вписаться int
и бросок a DateTimeException
. Все другой ChronoField
экземпляры бросят UnsupportedTemporalTypeException
.
Если поле не является a ChronoField
, тогда результат этого метода получается, вызывая TemporalField.getFrom(TemporalAccessor)
передача this
как параметр. Может ли значение быть получено, и что представляет значение, определяется полем.
get
в интерфейсе TemporalAccessor
field
- поле, чтобы получить, не нульDateTimeException
- если значение для поля не может быть получено, или значение вне диапазона допустимых значений для поляUnsupportedTemporalTypeException
- если поле не поддерживается, или диапазон значений превышает int
ArithmeticException
- если числовое переполнение происходитpublic long getLong(TemporalField field)
long
. Это запрашивает это месячное годом для значения для указанного поля. Если не возможно возвратить значение, потому что поле не поддерживается или по некоторой другой причине, исключение выдается.
Если поле является a ChronoField
тогда запрос реализуется здесь. supported fields
возвратит допустимые значения, основанные на этом месячном годом. Все другой ChronoField
экземпляры бросят UnsupportedTemporalTypeException
.
Если поле не является a ChronoField
, тогда результат этого метода получается, вызывая TemporalField.getFrom(TemporalAccessor)
передача this
как параметр. Может ли значение быть получено, и что представляет значение, определяется полем.
getLong
в интерфейсе TemporalAccessor
field
- поле, чтобы получить, не нульDateTimeException
- если значение для поля не может быть полученоUnsupportedTemporalTypeException
- если поле не поддерживаетсяArithmeticException
- если числовое переполнение происходитpublic int getYear()
Этот метод возвращает примитив int
значение в течение года.
Год, возвращенный этим методом, является преждевременным согласно get(YEAR)
.
public int getMonthValue()
Этот метод возвращает месяц как int
от 1 до 12. Код программы является часто более четким если перечисление Month
используется, вызывая getMonth()
.
getMonth()
public Month getMonth()
Month
перечисление. Этот метод возвращает перечисление Month
в течение месяца. Это избегает беспорядка относительно какой int
среднее значение значений. Если Вы нуждаетесь в доступе к примитиву int
значение тогда перечисление обеспечивает int value
.
getMonthValue()
public boolean isLeapYear()
Этот метод применяет текущие правила в течение многих високосных годов через целую временную шкалу. Вообще, год является високосным годом, если это является делимым четыре без остатка. Однако, годы, делимые 100, не високосные годы, за исключением лет, делимых 400, которые являются.
Например, 1904 является високосным годом, это является делимым 4. 1900 не был високосным годом, поскольку это является делимым 100, однако 2000 был високосным годом, поскольку это является делимым 400.
Вычисление является преждевременным - применение тех же самых правил в далекое будущее и далеко мимо. Это исторически неточно, но корректно для стандарта ISO 8601.
public boolean isValidDay(int dayOfMonth)
Этот метод проверяет, формируют ли в этом году и месяц и входной день допустимую дату.
dayOfMonth
- день-месячного, чтобы проверить, от 1 до 31, недопустимое значение возвращает falsepublic int lengthOfMonth()
Это возвращает продолжительность месяца в днях. Например, дата в январе возвратилась бы 31.
public int lengthOfYear()
Это возвращает продолжительность года в днях, или 365 или 366.
public YearMonth with(TemporalAdjuster adjuster)
Это возвращает a YearMonth
, основанный на этом, со скорректированным месячным годом. Корректировка имеет место, используя указанный объект стратегии регулятора. Считайте документацию регулятора, чтобы понять, какая корректировка будет внесена.
Простой регулятор мог бы просто установить то из полей, таких как поле года. Более сложный регулятор мог бы установить месячное годом в следующий месяц, что комета Халли передаст Землю.
Результат этого метода получается, вызывая TemporalAdjuster.adjustInto(Temporal)
метод на указанной передаче регулятора this
как параметр.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
with
в интерфейсе Temporal
adjuster
- регулятор, чтобы использовать, не нульYearMonth
основанный на this
с внесенной корректировкой, не нульDateTimeException
- если корректировка не может быть внесенаArithmeticException
- если числовое переполнение происходитpublic YearMonth with(TemporalField field, long newValue)
Это возвращает a YearMonth
, основанный на этом, со значением для указанного поля изменился. Это может использоваться, чтобы изменить любое поддерживаемое поле, такое как год или месяц. Если не возможно установить значение, потому что поле не поддерживается или по некоторой другой причине, исключение выдается.
Если поле является a ChronoField
тогда корректировка реализуется здесь. Поддерживаемые поля ведут себя следующим образом:
MONTH_OF_YEAR
- Возвраты a YearMonth
с указанным месяцем-летнего. Год будет неизменен. PROLEPTIC_MONTH
- Возвраты a YearMonth
с указанным преждевременно-месячным. Это полностью заменяет год и месяц этого объекта. YEAR_OF_ERA
- Возвраты a YearMonth
с указанным годом эры месяц и эра будут неизменны. YEAR
- Возвраты a YearMonth
с указанным годом. Месяц будет неизменен. ERA
- Возвраты a YearMonth
с указанной эрой. Месяц и год эры будут неизменны. Во всех случаях, если новое значение вне допустимого диапазона значений для поля тогда a DateTimeException
будет брошен.
Все другой ChronoField
экземпляры бросят UnsupportedTemporalTypeException
.
Если поле не является a ChronoField
, тогда результат этого метода получается, вызывая TemporalField.adjustInto(Temporal, long)
передача this
как параметр. В этом случае поле определяет, ли и как скорректировать момент.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
with
в интерфейсе Temporal
field
- поле, чтобы установить в результате, не нулеnewValue
- новое значение поля в результатеYearMonth
основанный на this
с указанным полевым набором, не нулемDateTimeException
- если поле не может быть установленоUnsupportedTemporalTypeException
- если поле не поддерживаетсяArithmeticException
- если числовое переполнение происходитpublic YearMonth withYear(int year)
YearMonth
с измененным годом. Этот экземпляр является неизменным и незатронутым этим вызовом метода.
year
- год, чтобы установить в возвращенном месячном годом, от MIN_YEAR до MAX_YEARYearMonth
основанный на этом месячном годом с требуемым годом, не нулемDateTimeException
- если значение года недопустимоpublic YearMonth withMonth(int month)
YearMonth
с измененным месяцем-летнего. Этот экземпляр является неизменным и незатронутым этим вызовом метода.
month
- месяц-летнего, чтобы установить в возвращенном месячном годом, от 1 (январь) к 12 (декабрь)YearMonth
основанный на этом месячном годом с требуемым месяцем, не нулемDateTimeException
- если значение месяца-летнего недопустимоpublic YearMonth plus(TemporalAmount amountToAdd)
Это возвращает a YearMonth
, основанный на этом, с указанным добавленным количеством. Количество обычно Period
но может быть любой другой тип, реализовывая TemporalAmount
интерфейс.
Вычисление делегируется к объекту количества, вызывая TemporalAmount.addTo(Temporal)
. Реализация количества свободна реализовать дополнение всегда, это желает, однако это обычно перезванивает к plus(long, TemporalUnit)
. Консультируйтесь с документацией реализации количества, чтобы определить, может ли это быть успешно добавлено.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
plus
в интерфейсе Temporal
amountToAdd
- количество, чтобы добавить, не нульYearMonth
основанный на этом месячном годом со сделанным дополнением, не нульDateTimeException
- если дополнение не может быть сделаноArithmeticException
- если числовое переполнение происходитpublic YearMonth plus(long amountToAdd, TemporalUnit unit)
Это возвращает a YearMonth
, основанный на этом, с количеством с точки зрения модуля добавил. Если не возможно добавить количество, потому что модуль не поддерживается или по некоторой другой причине, исключение выдается.
Если поле является a ChronoUnit
тогда дополнение реализуется здесь. Поддерживаемые поля ведут себя следующим образом:
MONTHS
- Возвраты a YearMonth
с конкретным количеством добавленных месяцев. Это эквивалентно plusMonths(long)
. YEARS
- Возвраты a YearMonth
с конкретным количеством добавленных лет. Это эквивалентно plusYears(long)
. DECADES
- Возвраты a YearMonth
с конкретным количеством добавленных десятилетий. Это эквивалентно вызову plusYears(long)
с количеством, умноженным на 10. CENTURIES
- Возвраты a YearMonth
с конкретным количеством добавленных столетий. Это эквивалентно вызову plusYears(long)
с количеством, умноженным на 100. MILLENNIA
- Возвраты a YearMonth
с конкретным количеством добавленных тысячелетий. Это эквивалентно вызову plusYears(long)
с количеством, умноженным на 1 000. ERAS
- Возвраты a YearMonth
с конкретным количеством добавленных эр. Только две эры поддерживаются так, количество должно быть один, нуль или минус один. Если количество является ненулевым тогда, год изменяется так, что, год эры неизменен. Все другой ChronoUnit
экземпляры бросят UnsupportedTemporalTypeException
.
Если поле не является a ChronoUnit
, тогда результат этого метода получается, вызывая TemporalUnit.addTo(Temporal, long)
передача this
как параметр. В этом случае модуль определяет, ли и как выполнить дополнение.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
plus
в интерфейсе Temporal
amountToAdd
- количество модуля, чтобы добавить к результату, может быть отрицательнымunit
- модуль количества, чтобы добавить, не нульYearMonth
основанный на этом месячном годом с указанным количеством добавил, не нульDateTimeException
- если дополнение не может быть сделаноUnsupportedTemporalTypeException
- если модуль не поддерживаетсяArithmeticException
- если числовое переполнение происходитpublic YearMonth plusYears(long yearsToAdd)
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
yearsToAdd
- годы, чтобы добавить, может быть отрицательнымYearMonth
основанный на этом месячном годом с годами добавил, не нульDateTimeException
- если результат превышает поддерживаемый диапазонpublic YearMonth plusMonths(long monthsToAdd)
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
monthsToAdd
- месяцы, чтобы добавить, может быть отрицательнымYearMonth
основанный на этом месячном годом с месяцами добавил, не нульDateTimeException
- если результат превышает поддерживаемый диапазонpublic YearMonth minus(TemporalAmount amountToSubtract)
Это возвращает a YearMonth
, основанный на этом, с указанным вычтенным количеством. Количество обычно Period
но может быть любой другой тип, реализовывая TemporalAmount
интерфейс.
Вычисление делегируется к объекту количества, вызывая TemporalAmount.subtractFrom(Temporal)
. Реализация количества свободна реализовать вычитание всегда, это желает, однако это обычно перезванивает к minus(long, TemporalUnit)
. Консультируйтесь с документацией реализации количества, чтобы определить, может ли это быть успешно вычтено.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
minus
в интерфейсе Temporal
amountToSubtract
- количество, чтобы вычесть, не нульYearMonth
основанный на этом месячном годом со сделанным вычитанием, не нульDateTimeException
- если вычитание не может быть сделаноArithmeticException
- если числовое переполнение происходитpublic YearMonth minus(long amountToSubtract, TemporalUnit unit)
Это возвращает a YearMonth
, основанный на этом, с количеством с точки зрения модуля вычитается. Если не возможно вычесть количество, потому что модуль не поддерживается или по некоторой другой причине, исключение выдается.
Этот метод эквивалентен plus(long, TemporalUnit)
с отрицаемым количеством. См., что метод для полного описания того, как дополнение, и таким образом вычитание, работают.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
minus
в интерфейсе Temporal
amountToSubtract
- количество модуля, чтобы вычесть из результата, может быть отрицательнымunit
- модуль количества, чтобы вычесть, не нульYearMonth
основанный на этом месячном годом с указанным вычтенным количеством, не нульDateTimeException
- если вычитание не может быть сделаноUnsupportedTemporalTypeException
- если модуль не поддерживаетсяArithmeticException
- если числовое переполнение происходитpublic YearMonth minusYears(long yearsToSubtract)
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
yearsToSubtract
- годы, чтобы вычесть, может быть отрицательнымYearMonth
основанный на этом месячном годом с вычтенными годами, не нульDateTimeException
- если результат превышает поддерживаемый диапазонpublic YearMonth minusMonths(long monthsToSubtract)
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
monthsToSubtract
- месяцы, чтобы вычесть, может быть отрицательнымYearMonth
основанный на этом месячном годом с вычтенными месяцами, не нульDateTimeException
- если результат превышает поддерживаемый диапазонpublic <R> R query(TemporalQuery<R> query)
Это запрашивает это месячное годом использование указанного объекта стратегии запроса. TemporalQuery
объект определяет логику, которая будет использоваться, чтобы получить результат. Считайте документацию запроса, чтобы понять, каков результат этого метода будет.
Результат этого метода получается, вызывая TemporalQuery.queryFrom(TemporalAccessor)
метод на указанной передаче запроса this
как параметр.
query
в интерфейсе TemporalAccessor
R
- тип результатаquery
- запрос, чтобы вызвать, не нульDateTimeException
- если неспособный запрашивать (определенный запросом)ArithmeticException
- если числовое переполнение происходит (определенный запросом)public Temporal adjustInto(Temporal temporal)
Это возвращает временный объект того же самого заметного типа как ввод с годом и месяцем, измененным, чтобы быть тем же самым как этим.
Корректировка эквивалентна использованию Temporal.with(TemporalField, long)
передача ChronoField.PROLEPTIC_MONTH
как поле. Если указанный временный объект не использует календарную систему ISO тогда a DateTimeException
бросается.
В большинстве случаев это является более четким, чтобы инвертировать образец вызова при использовании Temporal.with(TemporalAdjuster)
:
// these two lines are equivalent, but the second approach is recommended temporal = thisYearMonth.adjustInto(temporal); temporal = temporal.with(thisYearMonth);
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
adjustInto
в интерфейсе TemporalAdjuster
temporal
- целевой объект, который будет скорректирован, не нульDateTimeException
- если неспособный вносить корректировкуArithmeticException
- если числовое переполнение происходитpublic long periodUntil(Temporal endYearMonth, TemporalUnit unit)
Это вычисляет количество времени между два YearMonth
объекты с точки зрения сингла TemporalUnit
. Запуск и конечные точки this
и указанное месячное годом. Результат будет отрицателен, если конец будет перед запуском. Temporal
переданный к этому методу должен быть a YearMonth
. Например, период в годах между двумя месяцами года может быть вычислен, используя startYearMonth.periodUntil(endYearMonth, YEARS)
.
Вычисление возвращает целое число, представляя число полных модулей между этими двумя месяцами года. Например, период в десятилетиях между 2012-06 и 2032-05 только будет одним десятилетием, поскольку это - один месяц за исключением двух десятилетий.
Есть два эквивалентных способа использовать этот метод. Первое должно вызвать этот метод. Второе должно использовать TemporalUnit.between(Temporal, Temporal)
:
// these two lines are equivalent amount = start.periodUntil(end, MONTHS); amount = MONTHS.between(start, end);Выбор должен быть сделан основанный, которого делает код более читаемым.
Вычисление реализуется в этом методе для ChronoUnit
. Модули MONTHS
, YEARS
, DECADES
, CENTURIES
, MILLENNIA
и ERAS
поддерживаются. Другой ChronoUnit
значения выдадут исключение.
Если модуль не является a ChronoUnit
, тогда результат этого метода получается, вызывая TemporalUnit.between(Temporal, Temporal)
передача this
как первый параметр и ввод, временный как второй параметр.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
periodUntil
в интерфейсе Temporal
endYearMonth
- месячный годом конец, который должен быть a YearMonth
, не нульunit
- модуль, чтобы измерить количество в, не нульDateTimeException
- если количество не может быть вычисленоUnsupportedTemporalTypeException
- если модуль не поддерживаетсяArithmeticException
- если числовое переполнение происходитpublic String format(DateTimeFormatter formatter)
Это месячное годом передадут к средству форматирования, чтобы произвести строку.
formatter
- средство форматирования, чтобы использовать, не нульDateTimeException
- если ошибка происходит во время печатиpublic LocalDate atDay(int dayOfMonth)
LocalDate
. Это возвращает a LocalDate
сформированный из этого месячного годом и указанный день-месячного.
Дневное-месячного значение должно быть допустимым для месячного годом.
Этот метод может использоваться в качестве части цепочки, чтобы произвести дату:
LocalDate date = year.atMonth(month).atDay(day);
dayOfMonth
- день-месячного, чтобы использовать, от 1 до 31DateTimeException
- если день недопустим для месячного годомisValidDay(int)
public LocalDate atEndOfMonth()
LocalDate
в конце месяца. Это возвращает a LocalDate
основанный на этом месячном годом. День-месячного устанавливается в прошлый допустимый день месяца, принимая во внимание високосные годы.
Этот метод может использоваться в качестве части цепочки, чтобы произвести дату:
LocalDate date = year.atMonth(month).atEndOfMonth();
public int compareTo(YearMonth other)
Сравнение базируется сначала на значении года, затем на значении месяца. Это является "непротиворечивым с, равняется", как определено Comparable
.
compareTo
в интерфейсе Comparable<YearMonth>
other
- другое месячное годом, чтобы сравнить с, не нульpublic boolean isAfter(YearMonth other)
other
- другое месячное годом, чтобы сравнить с, не нульpublic boolean isBefore(YearMonth other)
other
- другое месячное годом, чтобы сравнить с, не нульpublic boolean equals(Object obj)
Сравнение основано на позиции временной шкалы месяцев года.
equals
в class Object
obj
- объект проверить, обнулите, возвращает falseObject.hashCode()
, HashMap
public int hashCode()
hashCode
в class Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92