Класс 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)
Проверяет, поддерживается ли указанное поле.
Проверяет, можно ли запросить у этого года указанное поле. Если 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с добавленной указанной эрой. Поддерживается только две эры, поэтому значение должно быть 1, 0 или -1. Если значение не равно нулю, год изменяется так, что год эры не изменяется.
Все другие ChronoUnit экземпляры будут выбрасывать UnsupportedTemporalTypeException.
Если поле не является ChronoUnit, то результат этого метода получается путем вызова TemporalUnit.addTo(Temporal, long), передавая this в качестве аргумента. В этом случае единица определяет, как и нужно ли выполнить добавление.
Этот экземпляр неизменяем и не изменяется этим вызовом метода.
- Указано:
-
plusв интерфейсеTemporal - Параметры:
-
amountToAdd- количество единиц для добавления к результату, может быть отрицательным -
unit- единица измерения количества для добавления, не null - Возвращает:
- год, основанный на текущем году с указанным количеством добавленным, не null
- Исключение:
-
DateTimeException- если добавление невозможно -
UnsupportedTemporalTypeException- если единица измерения не поддерживается -
ArithmeticException- если произошел переполнение числовых значений
plusYears
public Year plusYears(long yearsToAdd)
Возвращает копию текущего Year с добавлением указанного количества лет.
Этот экземпляр неизменяем и не изменяется этим методом.
- Параметры:
-
yearsToAdd- количество лет для добавления, может быть отрицательным - Возвращает:
- год, основанный на текущем году с добавленными годами, не null
- Исключение:
-
DateTimeException- если результат выходит за поддерживаемый диапазон
minus
public Year minus(TemporalAmount amountToSubtract)
Возвращает копию текущего года с указанным количеством вычтенным.
Возвращает Year, основанный на этом, с вычтенным указанным количеством. Количество обычно является Period, но может быть любым другим типом, реализующим интерфейс TemporalAmount.
Вычисление делегируется объекту количества вызовом TemporalAmount.subtractFrom(Temporal). Реализация количества свободна реализовать вычитание любым способом, однако, как правило, она обращается к minus(long, TemporalUnit). Обратитесь к документации реализации количества, чтобы определить, можно ли успешно вычесть его.
Этот экземпляр неизменяем и не изменяется этим методом.
- Указано:
-
minusв интерфейсеTemporal - Параметры:
-
amountToSubtract- количество для вычитания, не null - Возвращает:
- год, основанный на текущем году с выполненным вычитанием, не null
- Исключение:
-
DateTimeException- если вычитание невозможно -
ArithmeticException- если произошел переполнение числовых значений
minus
public Year minus(long amountToSubtract,
TemporalUnit unit) Возвращает копию текущего года с указанным количеством вычтенным.
Возвращает Year, основанный на этом, с вычтенным количеством в терминах единицы измерения. Если невозможно вычесть количество, потому что единица измерения не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Этот метод эквивалентен plus(long, TemporalUnit) с отрицательным количеством. Обратитесь к этому методу для полного описания работы сложения, а значит и вычитания.
Этот экземпляр неизменяем и не изменяется этим методом.
- Указано:
-
minusв интерфейсеTemporal - Параметры:
-
amountToSubtract- количество единиц для вычитания из результата, может быть отрицательным -
unit- единица измерения количества для вычитания, не null - Возвращает:
- год, основанный на текущем году с вычтенным указанным количеством, не null
- Исключение:
-
DateTimeException- если вычитание невозможно -
UnsupportedTemporalTypeException- если единица измерения не поддерживается -
ArithmeticException- если произошел переполнение числовых значений
minusYears
public Year minusYears(long yearsToSubtract)
Возвращает копию этого Year с указанным количеством лет вычтенным.
Этот экземпляр неизменяем и не изменяется этим методом.
- Параметры:
-
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) Вычисляет количество времени до другого года в терминах указанной единицы.
Вычисляет количество времени между двумя объектами 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 - Возвращает:
- значение компаратора, отрицательное, если меньше, положительное, если больше
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.