Spec-Zone.ru › OpenJDK 8

Класс YearMonth

  • java.lang.Object
    • java.time.YearMonth
Все реализованные интерфейсы:
Serializable, Comparable<YearMonth>, Temporal, TemporalAccessor, TemporalAdjuster

public final class YearMonth
extends Object
implements Temporal, TemporalAdjuster, Comparable<YearMonth>, Serializable

Год-месяц в системе календаря ISO-8601, например 2007-12.

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

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

Система календаря ISO-8601 — это современная гражданская система календаря, используемая сегодня в большинстве стран мира. Она эквивалентна пролептической системе календаря Григорианского, в которой сегодняшние правила високосных лет применяются для всех времен. Для большинства приложений, написанных сегодня, правила ISO-8601 полностью подходят. Однако любое приложение, которое использует исторические даты и требует их точности, обнаружит, что подход ISO-8601 не подходит.

Это класс значение-ориентированного типа; использование операций, чувствительных к идентификатору (включая равенство ссылок (==), идентификационный код хэша или синхронизацию) на экземплярах YearMonth может привести к непредсказуемым результатам и должно быть избегаемо. Для сравнения следует использовать метод equals.

Требования к реализации:
Этот класс неизменяемый и потокобезопасный.
С:
1.8
См. также:
Сериализованная форма

Методы

Модификатор и тип Метод и описание
Temporal adjustInto(Temporal temporal)

Настраивает указанный временной объект так, чтобы иметь этот год-месяц.

LocalDate atDay(int dayOfMonth)

Соединяет этот год-месяц с днем месяца, чтобы создать LocalDate.

LocalDate atEndOfMonth()

Возвращает LocalDate в конце месяца.

int compareTo(YearMonth other)

Сравнивает этот год-месяц с другим годом-месяцем.

boolean equals(Object obj)

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

String format(DateTimeFormatter formatter)

Форматирует этот год-месяц с помощью указанного форматера.

static YearMonth from(TemporalAccessor temporal)

Получает экземпляр YearMonth из временного объекта.

int get(TemporalField field)

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

long getLong(TemporalField field)

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

Month 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 isSupported(TemporalUnit unit)

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

boolean isValidDay(int dayOfMonth)

Проверяет, является ли день месяца допустимым для этого года-месяца.

int lengthOfMonth()

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

int lengthOfYear()

Возвращает длину года.

YearMonth minus(long amountToSubtract, TemporalUnit unit)

Возвращает копию этого года-месяца с указанным значением, вычтенным.

YearMonth minus(TemporalAmount amountToSubtract)

Возвращает копию этого года-месяца с указанным значением, вычтенным.

YearMonth minusMonths(long monthsToSubtract)

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

YearMonth minusYears(long yearsToSubtract)

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

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 из текстовой строки с использованием определенного форматера.

YearMonth plus(long amountToAdd, TemporalUnit unit)

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

YearMonth plus(TemporalAmount amountToAdd)

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

YearMonth plusMonths(long monthsToAdd)

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

YearMonth plusYears(long yearsToAdd)

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

<R> R query(TemporalQuery<R> query)

Запрашивает этот год-месяц с помощью указанного запроса.

ValueRange range(TemporalField field)

Получает диапазон допустимых значений для указанного поля.

String toString()

Выводит этот год-месяц как String, например 2007-12.

long until(Temporal endExclusive, TemporalUnit unit)

Вычисляет количество времени до другого года-месяца в терминах указанной единицы измерения.

YearMonth with(TemporalAdjuster adjuster)

Возвращает скорректированную копию этого года-месяца.

YearMonth with(TemporalField field, long newValue)

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

YearMonth withMonth(int month)

Возвращает копию этого YearMonth с измененным месяцем.

YearMonth withYear(int year)

Возвращает копию этого YearMonth с измененным годом.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Методы

now

public static YearMonth now()

Получает текущий год-месяц из системных часов в часовом поясе по умолчанию.

Это будет запрос к system clock в часовом поясе по умолчанию для получения текущего года-месяца.

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

Возвращает:
текущий год-месяц, используя системные часы и часовой пояс по умолчанию, не null

now

public static YearMonth now(ZoneId zone)

Получает текущий год-месяц из системных часов в указанном часовом поясе.

Это будет запрос к system clock для получения текущего года-месяца. Указание часового пояса позволяет избежать зависимости от часового пояса по умолчанию.

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

Параметры:
zone - идентификатор зоны, который нужно использовать, не null
Возвращает:
текущий год-месяц, используя системные часы, не null

now

public static YearMonth now(Clock clock)

Получает текущий год-месяц из указанных часов.

Это будет запрос к указанным часам для получения текущего года-месяца. Использование этого метода позволяет использовать альтернативные часы для тестирования. Альтернативные часы могут быть введены с помощью dependency injection.

Параметры:
clock - часы, которые нужно использовать, не null
Возвращает:
текущий год-месяц, не null

of

public static YearMonth of(int year,
                           Month month)

Получает экземпляр YearMonth из года и месяца.

Параметры:
year - год, который нужно представить, от MIN_YEAR до MAX_YEAR
month - месяц года, который нужно представить, не null
Возвращает:
год-месяц, не null
Исключения:
DateTimeException - если значение года неверно

of

public static YearMonth of(int year,
                           int month)

Получает экземпляр YearMonth из года и месяца.

Параметры:
year - год, который нужно представить, от MIN_YEAR до MAX_YEAR
month - месяц года, который нужно представить, от 1 (январь) до 12 (декабрь)
Возвращает:
год-месяц, не null
Исключения:
DateTimeException - если значение любого из полей неверно

from

public static YearMonth from(TemporalAccessor temporal)

Получает экземпляр YearMonth из временного объекта.

Это получает год-месяц на основе указанного временного объекта. TemporalAccessor представляет собой произвольный набор информации о дате и времени, который этот фабричный метод преобразует в экземпляр YearMonth.

Преобразование извлекает поля YEAR и MONTH_OF_YEAR. Извлечение разрешено только в том случае, если временной объект имеет хронологию ISO или может быть преобразован в LocalDate.

Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, YearMonth::from.

Параметры:
temporal - временной объект для преобразования, не null
Возвращает:
год-месяц, не null
Исключения:
DateTimeException - если невозможно преобразовать в YearMonth

parse

public static YearMonth parse(CharSequence text)

Получает экземпляр YearMonth из текстовой строки, такой как 2007-12.

Строка должна представлять допустимый год-месяц. Формат должен быть uuuu-MM. Годы за пределами диапазона от 0000 до 9999 должны иметь префикс в виде знака плюс или минус.

Параметры:
text - текст для анализа, например "2007-12", не null
Возвращает:
проанализированный год-месяц, не null
Исключения:
DateTimeParseException - если текст не может быть проанализирован

parse

public static YearMonth parse(CharSequence text,
                              DateTimeFormatter formatter)

Получает экземпляр YearMonth из текстовой строки с использованием определенного форматера.

Текст анализируется с помощью форматера, возвращая год-месяц.

Параметры:
text - текст для анализа, не null
formatter - форматер, который нужно использовать, не null
Возвращает:
проанализированный год-месяц, не null
Исключения:
DateTimeParseException - если текст не может быть проанализирован

isSupported

public boolean isSupported(TemporalField field)

Проверяет, поддерживается ли указанное поле.

Это проверяет, можно ли запрашивать у этого года-месяца указанное поле. Если false, то вызов методов range, get и with(TemporalField, long) вызовет исключение.

Если поле является ChronoField, то запрос реализуется здесь. Поддерживаемые поля:

  • MONTH_OF_YEAR
  • PROLEPTIC_MONTH
  • YEAR_OF_ERA
  • YEAR
  • ERA
Все остальные экземпляры ChronoField вернут false.

Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.isSupportedBy(TemporalAccessor) с передачей this в качестве аргумента. Поддерживается ли поле, определяется полем.

Указано в:
isSupported в интерфейсе TemporalAccessor
Параметры:
field - поле для проверки, null возвращает false
Возвращает:
true, если поле поддерживается этим годом-месяцем, false, если нет

isSupported

public boolean isSupported(TemporalUnit unit)

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

Это проверяет, можно ли добавить или вычесть указанную единицу из этого года-месяца. Если false, то вызов методов plus(long, TemporalUnit) и minus вызовет исключение.

Если единица является ChronoUnit, то запрос реализуется здесь. Поддерживаемые единицы:

  • MONTHS
  • YEARS
  • DECADES
  • CENTURIES
  • MILLENNIA
  • ERAS
Все остальные экземпляры ChronoUnit вернут false.

Если единица не является ChronoUnit, то результат этого метода получается путем вызова TemporalUnit.isSupportedBy(Temporal) с передачей this в качестве аргумента. Поддерживается ли единица, определяется единицей.

Указано в:
isSupported в интерфейсе Temporal
Параметры:
unit - единица для проверки, null возвращает false
Возвращает:
true, если единицу можно добавить/вычесть, false, если нет

range

public ValueRange range(TemporalField field)

Получает диапазон допустимых значений для указанного поля.

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

Если поле является ChronoField, то запрос реализуется здесь. supported fields вернет соответствующие экземпляры диапазона. Все остальные экземпляры ChronoField выбросят UnsupportedTemporalTypeException.

Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.rangeRefinedBy(TemporalAccessor) с передачей this в качестве аргумента. Возможно ли получить диапазон, определяется полем.

Указано в:
range в интерфейсе TemporalAccessor
Параметры:
field - поле, для которого нужно запросить диапазон, не null
Возвращает:
диапазон допустимых значений для поля, не null
Исключения:
DateTimeException - если диапазон для поля не может быть получен
UnsupportedTemporalTypeException - если поле не поддерживается

get

public int get(TemporalField field)

Получает значение указанного поля из этого года-месяца как int.

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

Если поле является ChronoField, то запрос реализуется здесь. supported fields вернет допустимые значения на основе этого года-месяца, за исключением PROLEPTIC_MONTH, который слишком велик, чтобы поместиться в int и выбросит DateTimeException. Все остальные экземпляры ChronoField выбросят UnsupportedTemporalTypeException.

Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.getFrom(TemporalAccessor) с передачей this в качестве аргумента. Возможно ли получить значение и что оно представляет, определяется полем.

Указано в:
get в интерфейсе TemporalAccessor
Параметры:
field - поле для получения, не null
Возвращает:
значение для поля
Исключения:
DateTimeException - если значение для поля не может быть получено или значение находится за пределами диапазона допустимых значений для поля
UnsupportedTemporalTypeException - если поле не поддерживается или диапазон значений превышает int
ArithmeticException - если происходит арифметическое переполнение

getLong

public long getLong(TemporalField field)

Получает значение указанного поля из этого года-месяца в качестве long.

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

Если поле является ChronoField, то запрос реализован здесь. supported fields будет возвращать допустимые значения на основе этого года-месяца. Все остальные ChronoField экземпляры будут выбрасывать UnsupportedTemporalTypeException.

Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.getFrom(TemporalAccessor), передавая this в качестве аргумента. Возможность получения значения и то, что это значение представляет, определяется полем.

Указано в:
getLong в интерфейсе TemporalAccessor
Параметры:
field - поле для получения, не null
Возвращает:
значение для поля
Исключения:
DateTimeException - если значение для поля получить нельзя
UnsupportedTemporalTypeException - если поле не поддерживается
ArithmeticException - если произошел переполнение числовых данных

getYear

public int getYear()

Получает поле года.

Этот метод возвращает примитивное значение int для года.

Год, возвращаемый этим методом, является пролептическим согласно get(YEAR).

Возвращает:
год, от MIN_YEAR до MAX_YEAR

getMonthValue

public int getMonthValue()

Получает поле месяца от 1 до 12.

Этот метод возвращает месяц в виде int от 1 до 12. Код приложения часто более понятен, если используется перечисление Month путем вызова getMonth().

Возвращает:
месяц, от 1 до 12
См. также:
getMonth()

getMonth

public Month getMonth()

Получает поле месяца с использованием перечисления Month.

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

Возвращает:
месяц, не null
См. также:
getMonthValue()

isLeapYear

public boolean isLeapYear()

Проверяет, является ли год високосным годом по правилам системы пролептического календаря ISO.

Этот метод применяет текущие правила для високосных годов на всей временной шкале. В общем случае год является високосным, если он делится на четыре без остатка. Однако годы, делящиеся на 100, не являются високосными, за исключением годов, делящихся на 400, которые являются.

Например, 1904 год високосный, так как делится на 4. 1900 год не был високосным, так как делится на 100, однако 2000 год был високосным, так как делится на 400.

Вычисление является пролептическим — применяя те же правила в далёком будущем и прошлом. Исторически это неточно, но это верно для стандарта ISO-8601.

Возвращает:
true, если год високосный, false в противном случае

isValidDay

public boolean isValidDay(int dayOfMonth)

Проверяет, является ли день месяца допустимым для этого года-месяца.

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

Параметры:
dayOfMonth - день месяца для проверки, от 1 до 31, неверное значение возвращает false
Возвращает:
true, если день допустим для этого года-месяца

lengthOfMonth

public int lengthOfMonth()

Возвращает длительность месяца, учитывая год.

Это возвращает длительность месяца в днях. Например, для даты в январе будет возвращено 31.

Возвращает:
длительность месяца в днях, от 28 до 31

lengthOfYear

public int lengthOfYear()

Возвращает длительность года.

Это возвращает длительность года в днях, либо 365, либо 366.

Возвращает:
366, если год високосный, 365 в противном случае

with

public YearMonth with(TemporalAdjuster adjuster)

Возвращает скопированную копию этого года-месяца с коррекцией.

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

Простой корректировщик может просто установить одно из полей, например, поле года. Более сложный корректировщик может установить год-месяц на следующий месяц, когда комета Галлея пролетит мимо Земли.

Результат этого метода получается путем вызова метода TemporalAdjuster.adjustInto(Temporal) на указанном корректировщике, передавая this в качестве аргумента.

Этот экземпляр неизменяем и не изменяется этим вызовом метода.

Указано в:
with в интерфейсе Temporal
Параметры:
adjuster - используемый корректировщик, не null
Возвращает:
копию YearMonth на основе this с выполненной корректировкой, не null
Исключения:
DateTimeException - если коррекция не может быть выполнена
ArithmeticException - если произошел переполнение числовых данных

with

public YearMonth with(TemporalField field,
                      long newValue)

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

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

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

  • MONTH_OF_YEAR - Возвращает YearMonth с указанным месяцем. Год останется неизменным.
  • PROLEPTIC_MONTH - Возвращает YearMonth с указанным пролептическим месяцем. Это полностью заменяет год и месяц этого объекта.
  • YEAR_OF_ERA - Возвращает YearMonth с указанным годом эры. Месяц и эра останутся неизменными.
  • YEAR - Возвращает YearMonth с указанным годом. Месяц останется неизменным.
  • ERA - Возвращает YearMonth с указанной эрой. Месяц и год эры останутся неизменными.

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

Все остальные ChronoField экземпляры будут выбрасывать UnsupportedTemporalTypeException.

Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.adjustInto(Temporal, long) передавая this в качестве аргумента. В этом случае поле определяет, как и нужно ли корректировать момент времени.

Этот экземпляр неизменяем и не изменяется этим вызовом метода.

Указано в:
with в интерфейсе Temporal
Параметры:
field - поле для установки в результате, не null
newValue - новое значение поля в результате
Возвращает:
копию YearMonth на основе this с установленным указанным полем, не null
Исключения:
DateTimeException - если поле нельзя установить
UnsupportedTemporalTypeException - если поле не поддерживается
ArithmeticException - если произошел переполнение числовых данных

withYear

public YearMonth withYear(int year)

Возвращает копию этого YearMonth с изменённым годом.

Этот экземпляр неизменяем и не изменяется этим вызовом метода.

Параметры:
year - год для установки в возвращаемом году-месяце, от MIN_YEAR до MAX_YEAR
Возвращает:
копию YearMonth на основе этого года-месяца с запрошенным годом, не null
Исключения:
DateTimeException - если значение года неверно

withMonth

public YearMonth withMonth(int month)

Возвращает копию этого YearMonth с изменённым месяцем.

Этот экземпляр неизменяем и не изменяется этим вызовом метода.

Параметры:
month - месяц для установки в возвращаемом году-месяце, от 1 (января) до 12 (декабря)
Возвращает:
копию YearMonth на основе этого года-месяца с запрошенным месяцем, не null
Исключения:
DateTimeException - если значение месяца неверно

plus

public YearMonth plus(TemporalAmount amountToAdd)

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

Это возвращает YearMonth, основанную на этой, с добавлением указанного промежутка. Промежуток обычно является Period, но может быть любого другого типа, реализующего интерфейс TemporalAmount.

Вычисление делегировано объекту промежутка с помощью вызова TemporalAmount.addTo(Temporal). Реализация промежутка свободна в реализации добавления любым способом, но обычно она вызывает обратный вызов plus(long, TemporalUnit). Обратитесь к документации реализации промежутка, чтобы определить, можно ли его успешно добавить.

Этот экземпляр неизменяем и не изменяется этим вызовом метода.

Указано в:
plus в интерфейсе Temporal
Параметры:
amountToAdd - промежуток для добавления, не null
Возвращает:
копию YearMonth на основе этого года-месяца с выполненным добавлением, не null
Исключения:
DateTimeException - если добавление невозможно
ArithmeticException - если произошел переполнение числовых данных

plus

public YearMonth plus(long amountToAdd,
                      TemporalUnit unit)

Возвращает копию этого года-месяца с добавленной указанной величиной.

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

Если поле является ChronoUnit, то добавление реализуется здесь. Поддерживаемые поля ведут себя следующим образом:

  • MONTHS - Возвращает YearMonth с добавлением указанного количества месяцев. Это эквивалентно plusMonths(long).
  • YEARS - Возвращает YearMonth с добавлением указанного количества лет. Это эквивалентно plusYears(long).
  • DECADES - Возвращает YearMonth с добавлением указанного количества десятилетий. Это эквивалентно вызову plusYears(long) с величиной, умноженной на 10.
  • CENTURIES - Возвращает YearMonth с добавлением указанного количества веков. Это эквивалентно вызову plusYears(long) с величиной, умноженной на 100.
  • MILLENNIA - Возвращает YearMonth с добавлением указанного количества тысячелетий. Это эквивалентно вызову plusYears(long) с величиной, умноженной на 1000.
  • ERAS - Возвращает YearMonth с добавлением указанного количества эр. Поддерживаются только две эры, поэтому величина должна быть равна одному, нулю или минус одному. Если величина отлична от нуля, то год изменяется таким образом, что год эры остается неизменным.

Все остальные ChronoUnit экземпляры будут выбрасывать UnsupportedTemporalTypeException.

Если поле не является ChronoUnit, то результат этого метода получается путем вызова TemporalUnit.addTo(Temporal, long), передавая this в качестве аргумента. В этом случае единица определяет, как и следует ли производить добавление.

Этот экземпляр неизменяем и не затрагивается этим вызовом метода.

Определено в:
plus в интерфейсе Temporal
Параметры:
amountToAdd - количество единиц для добавления к результату, может быть отрицательным
unit - единица величины для добавления, не null
Возвращает:
YearMonth на основе этого года-месяца с добавленной указанной величиной, не null
Исключения:
DateTimeException - если добавление невозможно
UnsupportedTemporalTypeException - если единица не поддерживается
ArithmeticException - если происходит переполнение числового значения

plusYears

public YearMonth plusYears(long yearsToAdd)

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

Этот экземпляр неизменяем и не затрагивается этим вызовом метода.

Параметры:
yearsToAdd - количество лет для добавления, может быть отрицательным
Возвращает:
YearMonth на основе этого года-месяца с добавленными годами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон

plusMonths

public YearMonth plusMonths(long monthsToAdd)

Возвращает копию этого YearMonth с добавлением указанного количества месяцев.

Этот экземпляр неизменяем и не затрагивается этим вызовом метода.

Параметры:
monthsToAdd - количество месяцев для добавления, может быть отрицательным
Возвращает:
YearMonth на основе этого года-месяца с добавленными месяцами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон

minus

public YearMonth minus(TemporalAmount amountToSubtract)

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

Это возвращает YearMonth, основанную на этой, с вычитанием указанной величины. Величина обычно является Period, но может быть любого другого типа, реализующего интерфейс TemporalAmount.

Вычисление делегируется объекту величины путем вызова TemporalAmount.subtractFrom(Temporal). Реализация величины свободна реализовывать вычитание любым желаемым способом, однако обычно она обращается к minus(long, TemporalUnit). Обратитесь к документации реализации величины, чтобы определить, можно ли успешно вычесть ее.

Этот экземпляр неизменяем и не затрагивается этим вызовом метода.

Определено в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract - величина для вычитания, не null
Возвращает:
YearMonth на основе этого года-месяца с произведенным вычитанием, не null
Исключения:
DateTimeException - если вычитание невозможно
ArithmeticException - если происходит переполнение числового значения

minus

public YearMonth minus(long amountToSubtract,
                       TemporalUnit unit)

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

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

Этот метод эквивалентен plus(long, TemporalUnit) с отрицанной величиной. См. этот метод для полного описания того, как работает добавление, и, следовательно, вычитание.

Этот экземпляр неизменяем и не затрагивается этим вызовом метода.

Определено в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract - количество единиц для вычитания из результата, может быть отрицательным
unit - единица величины для вычитания, не null
Возвращает:
YearMonth на основе этого года-месяца с вычтенной указанной величиной, не null
Исключения:
DateTimeException - если вычитание невозможно
UnsupportedTemporalTypeException - если единица не поддерживается
ArithmeticException - если происходит переполнение числового значения

minusYears

public YearMonth minusYears(long yearsToSubtract)

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

Этот экземпляр неизменяем и не затрагивается этим вызовом метода.

Параметры:
yearsToSubtract - количество лет для вычитания, может быть отрицательным
Возвращает:
YearMonth на основе этого года-месяца с вычтенными годами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон

minusMonths

public YearMonth minusMonths(long monthsToSubtract)

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

Этот экземпляр неизменяем и не затрагивается этим вызовом метода.

Параметры:
monthsToSubtract - количество месяцев для вычитания, может быть отрицательным
Возвращает:
YearMonth на основе этого года-месяца с вычтенными месяцами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон

query

public <R> R query(TemporalQuery<R> query)

Запрашивает этот год-месяц с помощью указанного запроса.

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

Результат этого метода получается путем вызова метода TemporalQuery.queryFrom(TemporalAccessor) на указанном запросе, передавая this в качестве аргумента.

Определено в:
query в интерфейсе TemporalAccessor
Параметры типа:
R - тип результата
Параметры:
query - запрос для вызова, не null
Возвращает:
результат запроса, может быть null (определяется запросом)
Исключения:
DateTimeException - если запрос не может быть выполнен (определяется запросом)
ArithmeticException - если происходит переполнение числового значения (определяется запросом)

adjustInto

public Temporal adjustInto(Temporal temporal)

Корректирует указанный временной объект, чтобы он содержал этот год-месяц.

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

Коррекция эквивалентна использованию Temporal.with(TemporalField, long), передавая ChronoField.PROLEPTIC_MONTH в качестве поля. Если указанный временной объект не использует систему календаря ISO, выбрасывается 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 - целевой объект для корректировки, не null
Возвращает:
откорректированный объект, не null
Исключения:
DateTimeException - если коррекция не может быть выполнена
ArithmeticException - если происходит переполнение числового значения

until

public long until(Temporal endExclusive,
                  TemporalUnit unit)

Вычисляет количество времени до следующего года-месяца в указанных единицах.

Это вычисляет количество времени между двумя YearMonth объектами в терминах одной TemporalUnit. Начальная и конечная точки — это this и указанный год-месяц. Результат будет отрицательным, если конец предшествует началу. Temporal , переданное в этот метод, преобразуется в YearMonth с помощью from(TemporalAccessor). Например, количество лет между двумя годами-месяцами можно вычислить с помощью startYearMonth.until(endYearMonth, YEARS).

Вычисление возвращает целое число, представляющее количество полных единиц между двумя годами-месяцами. Например, количество десятилетий между 2012-06 и 2032-05 составит только одно десятилетие, так как оно на один месяц меньше двух десятилетий.

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

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

Вычисление реализовано в этом методе для ChronoUnit. Поддерживаются единицы MONTHS, YEARS, DECADES, CENTURIES, MILLENNIA и ERAS. Другие значения ChronoUnit будут вызывать исключение.

Если единица не является ChronoUnit, то результат этого метода получается путем вызова TemporalUnit.between(Temporal, Temporal) , передавая this в качестве первого аргумента и преобразованное временное значение как второй аргумент.

Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.

Specified by:
until в интерфейсе Temporal
Parameters:
endExclusive - конечная дата, исключая, которая преобразуется в YearMonth, не null
unit - единица измерения количества, не null
Returns:
количество времени между этим годом-месяцем и конечным годом-месяцем
Throws:
DateTimeException - если количество не может быть вычислено или конечное временное значение не может быть преобразовано в YearMonth
UnsupportedTemporalTypeException - если единица не поддерживается
ArithmeticException - если произошел переполнение чисел

формат

public String format(DateTimeFormatter formatter)

Форматирует этот год-месяц с помощью указанного форматировщика.

Этот год-месяц будет передан в форматировщик для получения строки.

Parameters:
formatter - используемый форматировщик, не null
Returns:
строка отформатированного года-месяца, не null
Throws:
DateTimeException - если при печати произошла ошибка

atDay

public LocalDate atDay(int dayOfMonth)

Объединяет этот год-месяц с числом месяца, чтобы создать LocalDate.

Возвращает LocalDate, сформированный из этого года-месяца и указанного числа месяца.

Значение числа месяца должно быть допустимым для года-месяца.

Этот метод может использоваться как часть цепочки для создания даты:

LocalDate date = year.atMonth(month).atDay(day);
Parameters:
dayOfMonth - число месяца для использования, от 1 до 31
Returns:
дата, сформированная из этого года-месяца и указанного числа, не null
Throws:
DateTimeException - если число не является допустимым для года-месяца
See Also:
isValidDay(int)

atEndOfMonth

public LocalDate atEndOfMonth()

Возвращает LocalDate в конце месяца.

Возвращает LocalDate на основе этого года-месяца. Число месяца устанавливается на последнее допустимое число месяца с учетом високосных лет.

Этот метод может использоваться как часть цепочки для создания даты:

LocalDate date = year.atMonth(month).atEndOfMonth();
Returns:
последняя допустимая дата этого года-месяца, не null

compareTo

public int compareTo(YearMonth other)

Сравнивает этот год-месяц с другим годом-месяцем.

Сравнение основано сначала на значении года, затем на значении месяца. Оно «совместимо с equals», как определено в Comparable.

Specified by:
compareTo в интерфейсе Comparable<YearMonth>
Parameters:
other - другой год-месяц для сравнения, не null
Returns:
значение компаратора, отрицательное, если меньше, положительное, если больше

isAfter

public boolean isAfter(YearMonth other)

Проверяет, является ли этот год-месяц после указанного года-месяца.

Parameters:
other - другой год-месяц для сравнения, не null
Returns:
true, если этот год-месяц после указанного

isBefore

public boolean isBefore(YearMonth other)

Проверяет, является ли этот год-месяц до указанного года-месяца.

Parameters:
other - другой год-месяц для сравнения, не null
Returns:
true, если эта точка времени до указанного года-месяца

equals

public boolean equals(Object obj)

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

Сравнение основано на временном положении годов-месяцев.

Overrides:
equals в классе Object
Parameters:
obj - объект для проверки, null возвращает false
Returns:
true, если этот год-месяц равен другому
See Also:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Хэш-код для этого года-месяца.

Overrides:
hashCode в классе Object
Returns:
подходящий хэш-код
See Also:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

public String toString()

Выводит этот год-месяц как String, такой как 2007-12.

Вывод будет в формате uuuu-MM.

Overrides:
toString в классе Object
Returns:
строковое представление этого года-месяца, не null

© 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