Spec-Zone.ru › OpenJDK 17

Класс 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 непригоден.

Это класс value-based; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать их для синхронизации, в противном случае может возникнуть непредсказуемое поведение. Например, в будущей версии синхронизация может завершиться ошибкой. Для сравнений следует использовать метод 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)
Возвращает копию этого года с указанным полем, установленным на новое значение.

Методы, объявленные в классе 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 нашей эры (2AD/CE) представляется как 2.
Год 1 нашей эры (1AD/CE) представляется как 1.
Год 1 до нашей эры (1BC/BCE) представляется как 0.
Год 2 до нашей эры (2BC/BCE) представляется как -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)
Проверяет, поддерживается ли указанное поле.

Проверяет, можно ли запросить этот год для указанного поля. Если false, то вызов методов 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)
Проверяет, поддерживается ли указанная единица измерения.

Проверяет, можно ли добавить или вычесть указанную единицу измерения из этого года. Если false, то вызов методов 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 с указанным количеством добавленных эр. Поддерживаются только две эры, поэтому значение должно быть равно одному, нулю или минус одному. Если значение отлично от нуля, то год изменяется таким образом, что год эры остается неизменным.

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

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

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

format

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

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

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

atDay

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

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

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

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

atMonth

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

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

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

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

atMonth

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

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

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

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

atMonthDay

public LocalDate atMonthDay(MonthDay monthDay)
Объединяет этот год с днём месяца, чтобы создать LocalDate.

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

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

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

compareTo

public int compareTo(Year other)
Сравнивает этот год с другим годом.

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

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

isAfter

public boolean isAfter(Year other)
Проверяет, является ли этот год после указанного года.
Parameters:
other - другой год для сравнения, не null
Returns:
true, если этот год после указанного

isBefore

public boolean isBefore(Year 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.
Overrides:
toString в классе Object
Returns:
строковое представление этого года, не null

© 1993, 2021, 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/17/docs/api/java.base/java/time/Year.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API