Spec-Zone.ru › OpenJDK 27

Класс Year

java.lang.Object
java.time.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 не подходит.

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

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

Краткое описание полей

Модификатор и тип Поле Описание
static final int MAX_VALUE
Максимально поддерживаемый год: «+999,999,999».
static final 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)
Возвращает копию этого года, в которой указанному полю присвоено новое значение.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или прерывания, либо до истечения определенного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или прерывания, либо до истечения определенного периода реального времени.

Подробное описание полей

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.

Строка должна представлять допустимый год.

Параметры:
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) с величиной, умноженной на 1 000.
  • ERAS — возвращает Year с прибавленным указанным количеством эр. Поддерживаются только две эры, поэтому величина должна быть равна одному, нулю или минус одному. Если величина не равна нулю, год изменяется так, чтобы год эры остался неизменным.

Для всех остальных экземпляров 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 — количество лет для прибавления; может быть отрицательным
Возвращает:
Year на основе этого года с прибавленным количеством лет; значение не равно null
Исключения:
DateTimeException — если результат выходит за пределы поддерживаемого диапазона

minus

public Year minus(TemporalAmount amountToSubtract)
Возвращает копию этого года с вычтенной указанной величиной.

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

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

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

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

minus

public Year minus(long amountToSubtract, TemporalUnit unit)
Возвращает копию этого года с вычтенной указанной величиной.

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

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

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

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

minusYears

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

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

Параметры:
yearsToSubtract — количество лет для вычитания; может быть отрицательным
Возвращает:
Year на основе этого года с вычтенным количеством лет; значение не равно 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)
Вычисляет промежуток времени до другого года в указанных единицах измерения.

Вычисляет промежуток времени между двумя объектами Year в единицах одной TemporalUnit. Начальной и конечной точками являются this и указанный год. Результат будет отрицательным, если конечная точка предшествует начальной. Переданная этому методу 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 - конечная дата, не включительно, преобразуемая в Year, не null
unit - единица измерения промежутка, не null
Возвращает:
промежуток времени между этим годом и конечным годом
Исключения:
DateTimeException - если промежуток невозможно вычислить или конечный объект времени невозможно преобразовать в Year
UnsupportedTemporalTypeException - если единица измерения не поддерживается
ArithmeticException - если произошло переполнение числового значения

format

public String format(DateTimeFormatter formatter)
Форматирует этот год с помощью указанного форматировщика.

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

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

atDay

public LocalDate atDay(int dayOfYear)
Объединяет этот год с днём года, чтобы создать LocalDate.

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

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

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

atMonth

public YearMonth atMonth(Month month)
Объединяет этот год с месяцем, чтобы создать YearMonth.

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

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

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

atMonth

public YearMonth atMonth(int month)
Объединяет этот год с месяцем, чтобы создать YearMonth.

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

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

 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
Возвращает:
значение сравнения: меньше нуля, если этот год предшествует other, ноль, если годы равны, или больше нуля, если этот год следует за other
См. также:
  • isBefore(Year)
  • isAfter(Year)

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(Object)

toString

public String toString()
Выводит этот год в виде String.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого года, не null

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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