Класс 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 неподходящим.
Это класс с основой на значениях; использование операций, чувствительных к идентичности (включая равенство ссылок (==), хэш-код идентичности или синхронизацию) на экземплярах 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) | Объединяет текущий год с днем года для создания |
YearMonth | atMonth(int month) | Объединяет текущий год с месяцем для создания |
YearMonth | atMonth(Month month) | Объединяет текущий год с месяцем для создания |
LocalDate | atMonthDay(MonthDay monthDay) | Объединяет текущий год с днем месяца для создания |
int | compareTo(Year other) | Сравнивает текущий год с другим годом. |
boolean | equals(Object obj) | Проверяет, равен ли текущий год другому году. |
String | format(DateTimeFormatter formatter) | Форматирует текущий год с использованием указанного форматера. |
static Year | from(TemporalAccessor temporal) | Получает экземпляр |
int | get(TemporalField field) | Получает значение указанного поля из текущего года как |
long | getLong(TemporalField field) | Получает значение указанного поля из текущего года как |
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) | Возвращает копию этого |
static Year | now() | Получает текущий год с системных часов в часовом поясе по умолчанию. |
static Year | now(Clock clock) | Получает текущий год с указанного таймера. |
static Year | now(ZoneId zone) | Получает текущий год с системных часов в указанном часовом поясе. |
static Year | of(int isoYear) | Получает экземпляр |
static Year | parse(CharSequence text) | Получает экземпляр |
static Year | parse(CharSequence text,
DateTimeFormatter formatter) | Получает экземпляр |
Year | plus(long amountToAdd,
TemporalUnit unit) | Возвращает копию текущего года, к которой добавлено указанное количество. |
Year | plus(TemporalAmount amountToAdd) | Возвращает копию текущего года, к которой добавлено указанное количество. |
Year | plusYears(long yearsToAdd) | Возвращает копию этого |
<R> R | query(TemporalQuery<R> query) | Обращается к текущему году с помощью указанного запроса. |
ValueRange | range(TemporalField field) | Получает диапазон допустимых значений для указанного поля. |
String | toString() | Выводит текущий год в виде |
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.
© 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