Класс Year

Все реализованные интерфейсы:
Serializable, Comparable<Year>, Temporal, TemporalAccessor, TemporalAdjuster
public final class Year
extends Object
implements Temporal, TemporalAdjuster, Comparable<Year>, Serializable

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

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

Обратите внимание, что годы в ISO-хронологии соответствуют годам в григорианско-юлианской системе только для современных лет. Некоторые части России не перешли на современные григорианские/ISO правила до 1920 года. Поэтому с историческими годами следует обращаться с осторожностью.

Этот класс не хранит и не представляет месяц, день, время или часовой пояс. Например, значение "2007" может храниться в Year.

Годы, представленные этим классом, следуют стандарту ISO-8601 и используют пролептическую систему нумерации. Год 1 предшествует году 0, а затем году -1.

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

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

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

Поля

Модификатор и тип Поле Описание
static int MAX_VALUE

Максимальный поддерживаемый год, '+999 999 999'.

static int MIN_VALUE

Минимальный поддерживаемый год, '-999 999 999'.

Методы

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

Настраивает указанный временной объект так, чтобы его год был текущим годом.

LocalDate atDay​(int dayOfYear)

Объединяет текущий год с днем года для создания LocalDate.

YearMonth atMonth​(int month)

Объединяет текущий год с месяцем для создания YearMonth.

YearMonth atMonth​(Month month)

Объединяет текущий год с месяцем для создания YearMonth.

LocalDate atMonthDay​(MonthDay monthDay)

Объединяет текущий год с днем месяца для создания LocalDate.

int compareTo​(Year other)

Сравнивает текущий год с другим годом.

boolean equals​(Object obj)

Проверяет, равен ли текущий год другому году.

String format​(DateTimeFormatter formatter)

Форматирует текущий год с использованием указанного форматера.

static Year from​(TemporalAccessor temporal)

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

int get​(TemporalField field)

Получает значение указанного поля из текущего года как int.

long getLong​(TemporalField field)

Получает значение указанного поля из текущего года как long.

int getValue()

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

int hashCode()

Хэш-код для этого года.

boolean isAfter​(Year other)

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

boolean isBefore​(Year other)

Проверяет, предшествует ли текущий год указанному году.

boolean isLeap()

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

static boolean isLeap​(long year)

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

boolean isSupported​(TemporalField field)

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

boolean isSupported​(TemporalUnit unit)

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

boolean isValidMonthDay​(MonthDay monthDay)

Проверяет, действителен ли день месяца для текущего года.

int length()

Получает длину текущего года в днях.

Year minus​(long amountToSubtract, TemporalUnit unit)

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

Year minus​(TemporalAmount amountToSubtract)

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

Year minusYears​(long yearsToSubtract)

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

static Year now()

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

static Year now​(Clock clock)

Получает текущий год с указанного таймера.

static Year now​(ZoneId zone)

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

static Year of​(int isoYear)

Получает экземпляр Year.

static Year parse​(CharSequence text)

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

static Year parse​(CharSequence text, DateTimeFormatter formatter)

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

Year plus​(long amountToAdd, TemporalUnit unit)

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

Year plus​(TemporalAmount amountToAdd)

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

Year plusYears​(long yearsToAdd)

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

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

Обращается к текущему году с помощью указанного запроса.

ValueRange range​(TemporalField field)

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

String toString()

Выводит текущий год в виде String.

long until​(Temporal endExclusive, TemporalUnit unit)

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

Year with​(TemporalAdjuster adjuster)

Возвращает скорректированную копию текущего года.

Year with​(TemporalField field, long newValue)

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

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

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

Поля

MIN_VALUE

public static final int MIN_VALUE

Минимальный поддерживаемый год, '-999 999 999'.

См. также:
Постоянные значения поля

MAX_VALUE

public static final int MAX_VALUE

Максимальный поддерживаемый год, '+999 999 999'.

См. также:
Постоянные значения поля

Методы

now

public static Year now()

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

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

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

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

now

public static Year now(ZoneId zone)

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

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

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

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

now

public static Year now(Clock clock)

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

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

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

of

public static Year of(int isoYear)

Получает экземпляр Year.

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

Год 2 н.э./н. э. представлен значением 2.
Год 1 н.э./н. э. представлен значением 1.
Год 1 до н.э./до н. э. представлен значением 0.
Год 2 до н.э./до н. э. представлен значением -1.

Параметры:
isoYear - год ISO пролептического календаря, от MIN_VALUE до MAX_VALUE
Возвращает:
год, не null
Исключения:
DateTimeException - если поле некорректно

from

public static Year from(TemporalAccessor temporal)

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

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

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

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

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

parse

public static Year parse(CharSequence text)

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

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

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

parse

public static Year parse(CharSequence text,
                         DateTimeFormatter formatter)

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

Текст разбирается с помощью форматера, возвращая год.

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

isLeap

public static boolean isLeap(long year)

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

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

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

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

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

getValue

public int getValue()

Получает значение года.

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

Возвращает:
год, от MIN_VALUE до MAX_VALUE

isSupported

public boolean isSupported(TemporalField field)

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

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

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

  • 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)

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

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

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

  • 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 вернет допустимые значения, основанные на этом году. Все остальные экземпляры 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 - если произошёл переполнение числового типа

isLeap

public boolean isLeap()

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

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

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

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

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

isValidMonthDay

public boolean isValidMonthDay(MonthDay monthDay)

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

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

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

length

public int length()

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

Возвращает:
длительность этого года в днях, 365 или 366

with

public Year with(TemporalAdjuster adjuster)

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

Возвращает Year, основанный на этом, с изменённым годом. Изменение происходит с использованием указанной стратегии корректировки. Прочитайте документацию корректировщика, чтобы понять, какое изменение будет сделано.

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

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

Определено в:
with в интерфейсе Temporal
Параметры:
adjuster - корректировщик для использования, не null
Возвращает:
экземпляр Year на основе this с внесённым изменением, не null
Выбрасывает:
DateTimeException - если корректировка не может быть выполнена
ArithmeticException - если произошёл переполнение числового типа

with

public Year with(TemporalField field,
                 long newValue)

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

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

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

  • YEAR_OF_ERA - Возвращает Year с указанным годом-эры. Эра останется без изменений.
  • YEAR - Возвращает Year с указанным годом. Полностью заменяет дату и эквивалентно of(int).
  • ERA - Возвращает Year с указанной эрой. Год-эры останется без изменений.

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

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

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

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

Определено в:
with в интерфейсе Temporal
Параметры:
field - поле для установки в результате, не null
newValue - новое значение поля в результате
Возвращает:
экземпляр Year на основе this с указанным полем, установленным, не null
Выбрасывает:
DateTimeException - если поле не может быть установлено
UnsupportedTemporalTypeException - если поле не поддерживается
ArithmeticException - если произошёл переполнение числового типа

plus

public Year plus(TemporalAmount amountToAdd)

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

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

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

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

Определено в:
plus в интерфейсе Temporal
Параметры:
amountToAdd - значение для добавления, не null
Возвращает:
экземпляр Year на основе этого года с добавлением сделанным, не null
Выбрасывает:
DateTimeException - если добавление не может быть выполнено
ArithmeticException - если произошёл переполнение числового типа

plus

public Year plus(long amountToAdd,
                 TemporalUnit unit)

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

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

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

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

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

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

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

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

plusYears

public Year plusYears(long yearsToAdd)

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

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

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

minus

public Year minus(TemporalAmount amountToSubtract)

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

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

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

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

Определено в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract - величина для вычитания, не null
Возвращает:
год, основанный на этом году с вычитанием, не null
Выбрасывает:
DateTimeException - если вычитание невозможно
ArithmeticException - если произошел переполнение чисел

minus

public Year minus(long amountToSubtract,
                  TemporalUnit unit)

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

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

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

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

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

minusYears

public Year minusYears(long yearsToSubtract)

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

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

Параметры:
yearsToSubtract - годы для вычитания, могут быть отрицательными
Возвращает:
год, основанный на этом году с вычтенными годами, не 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.YEAR в качестве поля. Если указанный временной объект не использует ISO-календарь, выбрасывается DateTimeException.

В большинстве случаев, яснее использовать обратный порядок вызова с помощью Temporal.with(TemporalAdjuster):

// these two lines are equivalent, but the second approach is recommended
   temporal = thisYear.adjustInto(temporal);
   temporal = temporal.with(thisYear);

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

Определено в:
adjustInto в интерфейсе TemporalAdjuster
Параметры:
temporal - целевой объект для настройки, не null
Возвращает:
настроенный объект, не null
Выбрасывает:
DateTimeException - если настройка невозможна
ArithmeticException - если произошел переполнение чисел

until

public long until(Temporal endExclusive,
                  TemporalUnit unit)

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

Это вычисляет величину времени между двумя объектами года в терминах одной единицы. Точки начала и конца являются этим годом и указанным годом. Результат будет отрицательным, если конец находится до начала. Temporal , переданное этому методу, преобразуется в Year с помощью from(TemporalAccessor). Например, величину в десятилетиях между двумя годами можно вычислить с помощью startYear.until(endYear, DECADES).

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

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

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

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

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

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

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

format

public String format(DateTimeFormatter formatter)

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

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

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

atDay

public LocalDate atDay(int dayOfYear)

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

Это возвращает дату, сформированную из этого года и указанного дня года.

Значение дня года 366 является допустимым только в високосный год.

Параметры:
dayOfYear - день года для использования, от 1 до 365-366
Возвращает:
локальная дата, сформированная из этого года и указанного дня года, не null
Выбрасывает:
DateTimeException - если день года равен нулю или меньше, 366 или больше, или равен 366 и это не високосный год

atMonth

public YearMonth atMonth(Month month)

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

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

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

LocalDate date = year.atMonth(month).atDay(day);
Параметры:
month - месяц для использования, не null
Возвращает:
год и месяц, сформированные из этого года и указанного месяца, не null

atMonth

public YearMonth atMonth(int month)

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

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

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

LocalDate date = year.atMonth(month).atDay(day);
Параметры:
month - месяц для использования, от 1 (январь) до 12 (декабрь)
Возвращает:
год и месяц, сформированные из этого года и указанного месяца, не null
Выбрасывает:
DateTimeException - если месяц некорректен

atMonthDay

public LocalDate atMonthDay(MonthDay monthDay)

Объединяет текущий год с месяцем-днём, чтобы создать LocalDate.

Это возвращает LocalDate, образованный из текущего года и указанного месяца-дня.

Месяц-день 29 февраля будет скорректирован на 28 февраля в результирующей дате, если год не является високосным.

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

compareTo

public int compareTo(Year other)

Сравнивает текущий год с другим годом.

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

Определено в:
compareTo в интерфейсе Comparable<Year>
Параметры:
other - другой год для сравнения, не null
Возвращает:
значение компаратора, отрицательное, если меньше, положительное, если больше

isAfter

public boolean isAfter(Year other)

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

Параметры:
other - другой год для сравнения, не null
Возвращает:
true, если этот год после указанного

isBefore

public boolean isBefore(Year other)

Проверяет, является ли текущий год до указанного года.

Параметры:
other - другой год для сравнения, не null
Возвращает:
true, если эта точка времени до указанного года

equals

public boolean equals(Object obj)

Проверяет, равен ли текущий год другому году.

Сравнение основано на временной позиции годов.

Переопределяет:
equals в классе Object
Параметры:
obj - объект для проверки, null возвращает false
Возвращает:
true, если этот год равен другому году
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Хэш-код для текущего года.

Переопределяет:
hashCode в классе Object
Возвращает:
подходящий хэш-код
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

public String toString()

Выводит текущий год в виде String.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление текущего года, не 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/Year.html

Spec-Zone .ru
спецификации, руководства, описания, API