Класс Year
- Все реализуемые интерфейсы:
Serializable, Comparable<Year>, Temporal, TemporalAccessor, TemporalAdjuster
public final class Year extends Object implements Temporal, TemporalAdjuster, Comparable<Year>, Serializable
2007. Year — неизменяемый объект даты и времени, представляющий год. Можно получить значение любого поля, которое можно определить по году.
Обратите внимание, что годы в хронологии ISO совпадают с годами григорианско-юлианской системы только для современных лет. Некоторые части России перешли на современные правила григорианского календаря/ISO только в 1920 году. Поэтому к историческим годам следует относиться с осторожностью.
Этот класс не хранит и не представляет месяц, день, время или часовой пояс. Например, значение «2007» можно хранить в Year.
Годы, представленные этим классом, соответствуют стандарту ISO-8601 и используют пролептическую систему нумерации. Перед годом 1 идет год 0, а перед ним — год -1.
Календарная система ISO-8601 — это современная гражданская календарная система, используемая сегодня в большинстве стран мира. Она эквивалентна пролептическому григорианскому календарю, в котором действующие сегодня правила високосных лет применяются ко всему времени. Для большинства современных приложений правила ISO-8601 вполне подходят. Однако приложениям, использующим исторические даты и требующим их точности, подход ISO-8601 не подходит.
Это класс, основанный на значениях; программистам следует считать экземпляры, которые равны, взаимозаменяемыми и не использовать экземпляры для синхронизации, иначе поведение может быть непредсказуемым. Например, в одном из будущих выпусков синхронизация может завершиться неудачей. Для сравнения следует использовать метод equals.
- Требования к реализации:
- Этот класс является неизменяемым и потокобезопасным.
- Появился в версии:
- 1.8
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
MAX_VALUE |
Максимально поддерживаемый год: «+999,999,999». |
static final int |
MIN_VALUE |
Минимально поддерживаемый год: «-999,999,999». |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Temporal |
adjustInto |
Настраивает указанный объект времени так, чтобы он содержал этот год. |
LocalDate |
atDay |
Объединяет этот год с днем года для создания LocalDate. |
YearMonth |
atMonth |
Объединяет этот год с месяцем для создания YearMonth. |
YearMonth |
atMonth |
Объединяет этот год с месяцем для создания YearMonth. |
LocalDate |
atMonthDay |
Объединяет этот год с месяцем и днем для создания LocalDate. |
int |
compareTo |
Сравнивает этот год с другим годом. |
boolean |
equals |
Проверяет, равен ли этот год другому году. |
String |
format |
Форматирует этот год с помощью указанного средства форматирования. |
static Year |
from |
Получает экземпляр Year из объекта времени. |
int |
get |
Получает значение указанного поля этого года в виде int. |
long |
getLong |
Получает значение указанного поля этого года в виде long. |
int |
getValue() |
Получает значение года. |
int |
hashCode() |
Хеш-код этого года. |
boolean |
isAfter |
Проверяет, идет ли этот год после указанного. |
boolean |
isBefore |
Проверяет, идет ли этот год перед указанным. |
boolean |
isLeap() |
Проверяет, является ли год високосным согласно правилам пролептической календарной системы ISO. |
static boolean |
isLeap |
Проверяет, является ли год високосным согласно правилам пролептической календарной системы ISO. |
boolean |
isSupported |
Проверяет, поддерживается ли указанное поле. |
boolean |
isSupported |
Проверяет, поддерживается ли указанная единица измерения. |
boolean |
isValidMonthDay |
Проверяет, допустимы ли месяц и день для этого года. |
int |
length() |
Получает количество дней в этом году. |
Year |
minus |
Возвращает копию этого года, из которого вычтено указанное значение. |
Year |
minus |
Возвращает копию этого года, из которого вычтено указанное значение. |
Year |
minusYears |
Возвращает копию этого Year, из которого вычтено указанное количество лет. |
static Year |
now() |
Получает текущий год по системным часам в часовом поясе по умолчанию. |
static Year |
now |
Получает текущий год по указанным часам. |
static Year |
now |
Получает текущий год по системным часам в указанном часовом поясе. |
static Year |
of |
Получает экземпляр Year. |
static Year |
parse |
Получает экземпляр Year из текстовой строки, например 2007. |
static Year |
parse |
Получает экземпляр Year из текстовой строки с помощью заданного средства форматирования. |
Year |
plus |
Возвращает копию этого года с добавленным указанным значением. |
Year |
plus |
Возвращает копию этого года с добавленным указанным значением. |
Year |
plusYears |
Возвращает копию этого Year с добавленным указанным количеством лет. |
<R> R |
query |
Выполняет запрос к этому году с помощью указанного запроса. |
ValueRange |
range |
Получает диапазон допустимых значений для указанного поля. |
String |
toString() |
Выводит этот год в виде String. |
long |
until |
Вычисляет время до другого года в единицах указанной единицы измерения. |
Year |
with |
Возвращает копию этого года с примененной поправкой. |
Year |
with |
Возвращает копию этого года, в которой указанному полю присвоено новое значение. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или прерывания, либо до истечения определенного периода реального времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или прерывания, либо до истечения определенного периода реального времени. |
Подробное описание полей
MIN_VALUE
public static final int MIN_VALUE
- См. также:
MAX_VALUE
public static final int MAX_VALUE
- См. также:
Подробное описание методов
now
public static Year now()
Для получения текущего года выполняется запрос к system clock в часовом поясе по умолчанию.
Использование этого метода не позволяет использовать альтернативные часы для тестирования, поскольку часы заданы непосредственно в методе.
- Возвращает:
- текущий год по системным часам и в часовом поясе по умолчанию; значение не равно null
now
public static Year now(ZoneId zone)
Для получения текущего года выполняется запрос к system clock. Указание часового пояса позволяет избежать зависимости от часового пояса по умолчанию.
Использование этого метода не позволяет использовать альтернативные часы для тестирования, поскольку часы заданы непосредственно в методе.
- Параметры:
-
zone— идентификатор часового пояса, который следует использовать; не null - Возвращает:
- текущий год по системным часам; значение не равно null
now
public static Year now(Clock clock)
Для получения текущего года выполняется запрос к указанным часам. Использование этого метода позволяет использовать альтернативные часы для тестирования. Альтернативные часы можно создать с помощью dependency injection.
- Параметры:
-
clock— часы, которые следует использовать; не null - Возвращает:
- текущий год; значение не равно null
of
public static Year of(int isoYear)
Year. Этот метод принимает значение года в пролептической календарной системе ISO.
Год 2 н. э. представлен числом 2.
Год 1 н. э. представлен числом 1.
Год 1 до н. э. представлен числом 0.
Год 2 до н. э. представлен числом -1.
- Параметры:
-
isoYear— пролептический год ISO, который требуется представить; отMIN_VALUEдоMAX_VALUE - Возвращает:
- год; значение не равно null
- Исключения:
-
DateTimeException— если поле недопустимо
from
public static Year from(TemporalAccessor temporal)
Year на основе временного объекта. Этот метод получает год на основе указанного временного объекта. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр Year.
При преобразовании извлекается поле year. Извлечение допускается только в том случае, если временной объект использует хронологию ISO или может быть преобразован в LocalDate.
Сигнатура этого метода соответствует функциональному интерфейсу TemporalQuery, что позволяет использовать его как запрос через ссылку на метод: Year::from.
- Параметры:
-
temporal— временной объект для преобразования; не null - Возвращает:
- год; значение не равно null
- Исключения:
-
DateTimeException— если не удается преобразовать объект вYear
parse
public static Year parse(CharSequence text)
Year на основе текстовой строки, например 2007. Строка должна представлять допустимый год.
- Параметры:
-
text— текст для разбора, например «2007»; не null - Возвращает:
- разобранный год; значение не равно null
- Исключения:
-
DateTimeParseException— если текст не удается разобрать
parse
public static Year parse(CharSequence text, DateTimeFormatter formatter)
Year на основе текстовой строки с использованием заданного форматировщика. Текст разбирается с помощью форматировщика, после чего возвращается год.
- Параметры:
-
text— текст для разбора; не null -
formatter— форматировщик, который следует использовать; не null - Возвращает:
- разобранный год; значение не равно null
- Исключения:
-
DateTimeParseException— если текст не удается разобрать
isLeap
public static boolean isLeap(long year)
Этот метод применяет действующие правила определения високосных лет ко всей временной шкале. Как правило, год является високосным, если он делится на четыре без остатка. Однако годы, делящиеся на 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()
Этот метод применяет действующие правила определения високосных лет ко всей временной шкале. Как правило, год является високосным, если он делится на четыре без остатка. Однако годы, делящиеся на 100, не являются високосными, за исключением годов, делящихся на 400.
Например, 1904 год является високосным, поскольку делится на 4. 1900 год не был високосным, поскольку делится на 100, однако 2000 год был високосным, поскольку делится на 400.
Вычисление является пролептическим: одни и те же правила применяются в далеком будущем и далеком прошлом. Это не соответствует исторической действительности, но соответствует стандарту ISO-8601.
- Возвращает:
- true, если год високосный; в противном случае false
isValidMonthDay
public boolean isValidMonthDay(MonthDay monthDay)
Этот метод проверяет, образуют ли данный год, входные значения месяца и дня допустимую дату.
- Параметры:
-
monthDay— комбинация месяца и дня для проверки; для null возвращается false - Возвращает:
- true, если месяц и день допустимы для этого года
length
public int length()
- Возвращает:
- длину этого года в днях: 365 или 366
with
public Year with(TemporalAdjuster adjuster)
Возвращает Year на основе этого объекта с скорректированным годом. Корректировка выполняется с использованием указанного объекта стратегии корректировки. Чтобы узнать, какая именно корректировка будет выполнена, ознакомьтесь с документацией по корректировщику.
Результат этого метода получается путем вызова метода TemporalAdjuster.adjustInto(Temporal) указанного корректировщика с передачей this в качестве аргумента.
Этот экземпляр неизменяем и не изменяется при вызове данного метода.
- Определено в:
-
withв интерфейсеTemporal - Параметры:
-
adjuster— корректировщик, который следует использовать; не null - Возвращает:
Yearна основеthisс примененной корректировкой; значение не равно null- Исключения:
-
DateTimeException— если корректировку невозможно выполнить -
ArithmeticException— при переполнении числового значения
with
public Year with(TemporalField field, long newValue)
Возвращает Year на основе этого объекта с измененным значением указанного поля. Если установить значение невозможно, поскольку поле не поддерживается или по какой-либо другой причине, возникает исключение.
Если поле является ChronoField, корректировка выполняется здесь. Поддерживаемые поля обрабатываются следующим образом:
-
YEAR_OF_ERA— возвращаетYearс указанным годом эры. Эра остается неизменной. -
YEAR— возвращаетYearс указанным годом. Дата полностью заменяется; это эквивалентно вызовуof(int). -
ERA— возвращаетYearс указанной эрой. Год эры остается неизменным.
Во всех случаях, если новое значение выходит за пределы допустимого диапазона значений поля, возникает DateTimeException.
Для всех остальных экземпляров ChronoField возникает UnsupportedTemporalTypeException.
Если поле не является ChronoField, результат этого метода получается путем вызова TemporalField.adjustInto(Temporal, long) с передачей this в качестве аргумента. В этом случае поле определяет, следует ли корректировать момент времени и каким образом.
Этот экземпляр неизменяем и не изменяется при вызове данного метода.
- Определено в:
-
withв интерфейсеTemporal - Параметры:
-
field— поле, значение которого следует задать в результате; не null -
newValue— новое значение поля в результате - Возвращает:
Yearна основеthisс заданным значением указанного поля; значение не равно null- Исключения:
-
DateTimeException— если значение поля невозможно задать -
UnsupportedTemporalTypeException— если поле не поддерживается -
ArithmeticException— при переполнении числового значения
plus
public Year plus(TemporalAmount amountToAdd)
Возвращает Year на основе этого объекта с прибавленной указанной величиной. Обычно величиной является Period, но это может быть и любой другой тип, реализующий интерфейс TemporalAmount.
Вычисление делегируется объекту величины путем вызова TemporalAmount.addTo(Temporal). Реализация величины может выполнять сложение любым способом, но обычно она вызывает plus(long, TemporalUnit). Ознакомьтесь с документацией реализации величины, чтобы узнать, можно ли успешно выполнить сложение.
Этот экземпляр неизменяем и не изменяется при вызове данного метода.
- Определено в:
-
plusв интерфейсеTemporal - Параметры:
-
amountToAdd— величина для прибавления; не null - Возвращает:
Yearна основе этого года с выполненным сложением; значение не равно null- Исключения:
-
DateTimeException— если сложение невозможно выполнить -
ArithmeticException— при переполнении числового значения
plus
public Year plus(long amountToAdd, TemporalUnit unit)
Возвращает Year на основе этого объекта с прибавленной величиной, выраженной в указанной единице измерения. Если прибавить величину невозможно, поскольку единица не поддерживается или по какой-либо другой причине, возникает исключение.
Если единица является ChronoUnit, сложение выполняется здесь. Поддерживаемые единицы обрабатываются следующим образом:
-
YEARS— возвращаетYearс прибавленным указанным количеством лет. Это эквивалентно вызовуplusYears(long). -
DECADES— возвращаетYearс прибавленным указанным количеством десятилетий. Это эквивалентно вызовуplusYears(long)с величиной, умноженной на 10. -
CENTURIES— возвращаетYearс прибавленным указанным количеством столетий. Это эквивалентно вызовуplusYears(long)с величиной, умноженной на 100. -
MILLENNIA— возвращаетYearс прибавленным указанным количеством тысячелетий. Это эквивалентно вызовуplusYears(long)с величиной, умноженной на 1 000. -
ERAS— возвращаетYearс прибавленным указанным количеством эр. Поддерживаются только две эры, поэтому величина должна быть равна одному, нулю или минус одному. Если величина не равна нулю, год изменяется так, чтобы год эры остался неизменным.
Для всех остальных экземпляров ChronoUnit возникает UnsupportedTemporalTypeException.
Если единица не является ChronoUnit, результат этого метода получается путем вызова TemporalUnit.addTo(Temporal, long) с передачей this в качестве аргумента. В этом случае единица определяет, следует ли выполнять сложение и каким образом.
Этот экземпляр неизменяем и не изменяется при вызове данного метода.
- Определено в:
-
plusв интерфейсеTemporal - Параметры:
-
amountToAdd— количество единиц для прибавления к результату; может быть отрицательным -
unit— единица измерения величины для прибавления; не null - Возвращает:
Yearна основе этого года с прибавленной указанной величиной; значение не равно null- Исключения:
-
DateTimeException— если сложение невозможно выполнить -
UnsupportedTemporalTypeException— если единица не поддерживается -
ArithmeticException— при переполнении числового значения
plusYears
public Year plusYears(long yearsToAdd)
Year с прибавленным указанным количеством лет. Этот экземпляр неизменяем и не изменяется при вызове данного метода.
- Параметры:
-
yearsToAdd— количество лет для прибавления; может быть отрицательным - Возвращает:
Yearна основе этого года с прибавленным количеством лет; значение не равно null- Исключения:
-
DateTimeException— если результат выходит за пределы поддерживаемого диапазона
minus
public Year minus(TemporalAmount amountToSubtract)
Возвращает Year на основе этого объекта с вычтенной указанной величиной. Обычно величиной является Period, но это может быть и любой другой тип, реализующий интерфейс TemporalAmount.
Вычисление делегируется объекту величины путем вызова TemporalAmount.subtractFrom(Temporal). Реализация величины может выполнять вычитание любым способом, но обычно она вызывает minus(long, TemporalUnit). Ознакомьтесь с документацией реализации величины, чтобы узнать, можно ли успешно выполнить вычитание.
Этот экземпляр неизменяем и не изменяется при вызове данного метода.
- Определено в:
-
minusв интерфейсеTemporal - Параметры:
-
amountToSubtract— величина для вычитания; не null - Возвращает:
Yearна основе этого года с выполненным вычитанием; значение не равно null- Исключения:
-
DateTimeException— если вычитание невозможно выполнить -
ArithmeticException— при переполнении числового значения
minus
public Year minus(long amountToSubtract, TemporalUnit unit)
Возвращает Year на основе этого объекта с вычтенной величиной, выраженной в указанной единице измерения. Если вычесть величину невозможно, поскольку единица не поддерживается или по какой-либо другой причине, возникает исключение.
Этот метод эквивалентен вызову plus(long, TemporalUnit) с величиной, взятой с противоположным знаком. Полное описание работы сложения и, следовательно, вычитания приведено в документации этого метода.
Этот экземпляр неизменяем и не изменяется при вызове данного метода.
- Определено в:
-
minusв интерфейсеTemporal - Параметры:
-
amountToSubtract— количество единиц для вычитания из результата; может быть отрицательным -
unit— единица измерения величины для вычитания; не null - Возвращает:
Yearна основе этого года с вычтенной указанной величиной; значение не равно null- Исключения:
-
DateTimeException— если вычитание невозможно выполнить -
UnsupportedTemporalTypeException— если единица не поддерживается -
ArithmeticException— при переполнении числового значения
minusYears
public Year minusYears(long yearsToSubtract)
Year с вычтенным указанным количеством лет. Этот экземпляр неизменяем и не изменяется при вызове данного метода.
- Параметры:
-
yearsToSubtract— количество лет для вычитания; может быть отрицательным - Возвращает:
Yearна основе этого года с вычтенным количеством лет; значение не равно null- Исключения:
-
DateTimeException— если результат выходит за пределы поддерживаемого диапазона
query
public <R> R query(TemporalQuery<R> query)
Этот метод запрашивает этот год с помощью указанного объекта стратегии запроса. Объект TemporalQuery определяет логику получения результата. Ознакомьтесь с документацией по запросу, чтобы понять, каким будет результат этого метода.
Результат этого метода получается вызовом метода TemporalQuery.queryFrom(TemporalAccessor) для указанного запроса с передачей this в качестве аргумента.
- Указано в:
-
queryв интерфейсеTemporalAccessor - Параметры типа:
R- тип результата- Параметры:
-
query- запрос для вызова, не null - Возвращает:
- результат запроса; может быть возвращено значение null (определяется запросом)
- Исключения:
-
DateTimeException- если выполнить запрос невозможно (определяется запросом) -
ArithmeticException- если произошло переполнение числового значения (определяется запросом)
adjustInto
public Temporal adjustInto(Temporal temporal)
Возвращает объект времени того же наблюдаемого типа, что и входной, с изменённым годом, равным этому году.
Корректировка эквивалентна использованию Temporal.with(TemporalField, long) с передачей ChronoField.YEAR в качестве поля. Если указанный объект времени не использует календарную систему ISO, выбрасывается DateTimeException.
В большинстве случаев понятнее поменять порядок вызова, используя Temporal.with(TemporalAdjuster):
// these two lines are equivalent, but the second approach is recommended temporal = thisYear.adjustInto(temporal); temporal = temporal.with(thisYear);
Этот экземпляр является неизменяемым и не изменяется при вызове данного метода.
- Указано в:
-
adjustIntoв интерфейсеTemporalAdjuster - Параметры:
-
temporal- целевой объект для корректировки, не null - Возвращает:
- скорректированный объект, не null
- Исключения:
-
DateTimeException- если выполнить корректировку невозможно -
ArithmeticException- если произошло переполнение числового значения
until
public long until(Temporal endExclusive, TemporalUnit unit)
Вычисляет промежуток времени между двумя объектами Year в единицах одной TemporalUnit. Начальной и конечной точками являются this и указанный год. Результат будет отрицательным, если конечная точка предшествует начальной. Переданная этому методу Temporal преобразуется в Year с помощью from(TemporalAccessor). Например, количество десятилетий между двумя годами можно вычислить с помощью startYear.until(endYear, DECADES).
Вычисление возвращает целое число, представляющее количество полных единиц между двумя годами. Например, промежуток в десятилетиях между 2012 и 2031 годами составит лишь одно десятилетие, поскольку до двух десятилетий не хватает одного года.
Этот метод можно использовать двумя эквивалентными способами. Первый — вызвать этот метод. Второй — использовать TemporalUnit.between(Temporal, Temporal):
// these two lines are equivalent amount = start.until(end, YEARS); amount = YEARS.between(start, end);Выбор следует делать исходя из того, какой вариант делает код более понятным.
В этом методе вычисление реализовано для ChronoUnit. Поддерживаются единицы YEARS, DECADES, CENTURIES, MILLENNIA и ERAS. Для других значений ChronoUnit будет выброшено исключение.
Если единица измерения не является ChronoUnit, результат этого метода получается вызовом TemporalUnit.between(Temporal, Temporal) с передачей this в качестве первого аргумента, а преобразованного входного объекта времени — в качестве второго аргумента.
Этот экземпляр является неизменяемым и не изменяется при вызове данного метода.
- Указано в:
-
untilв интерфейсеTemporal - Параметры:
-
endExclusive- конечная дата, не включительно, преобразуемая вYear, не null -
unit- единица измерения промежутка, не null - Возвращает:
- промежуток времени между этим годом и конечным годом
- Исключения:
-
DateTimeException- если промежуток невозможно вычислить или конечный объект времени невозможно преобразовать вYear -
UnsupportedTemporalTypeException- если единица измерения не поддерживается -
ArithmeticException- если произошло переполнение числового значения
format
public String format(DateTimeFormatter formatter)
Этот год будет передан форматировщику для формирования строки.
- Параметры:
-
formatter- используемый форматировщик, не null - Возвращает:
- отформатированная строка года, не null
- Исключения:
-
DateTimeException- если при выводе произошла ошибка
atDay
public LocalDate atDay(int dayOfYear)
LocalDate. Возвращает LocalDate, сформированную из этого года и указанного дня года.
Значение дня года 366 допустимо только в високосном году.
- Параметры:
-
dayOfYear- используемый день года, от 1 до 365–366 - Возвращает:
- локальная дата, сформированная из этого года и указанного дня года, не null
- Исключения:
-
DateTimeException- если день года меньше или равен нулю, больше или равен 366 либо равен 366, а год не является високосным
atMonth
public YearMonth atMonth(Month month)
YearMonth. Возвращает YearMonth, сформированную из этого года и указанного месяца. Допустимы все возможные сочетания года и месяца.
Этот метод можно использовать в цепочке вызовов для формирования даты:
LocalDate date = year.atMonth(month).atDay(day);
- Параметры:
-
month- используемый месяц года, не null - Возвращает:
- год и месяц, сформированные из этого года и указанного месяца, не null
atMonth
public YearMonth atMonth(int month)
YearMonth. Возвращает YearMonth, сформированную из этого года и указанного месяца. Допустимы все возможные сочетания года и месяца.
Этот метод можно использовать в цепочке вызовов для формирования даты:
LocalDate date = year.atMonth(month).atDay(day);
- Параметры:
-
month- используемый месяц года, от 1 (январь) до 12 (декабрь) - Возвращает:
- год и месяц, сформированные из этого года и указанного месяца, не null
- Исключения:
-
DateTimeException- если месяц недопустим
atMonthDay
public LocalDate atMonthDay(MonthDay monthDay)
LocalDate. Возвращает LocalDate, сформированную из этого года и указанного месяца и дня.
Если год не является високосным, месяц и день 29 февраля будут скорректированы на 28 февраля в результирующей дате.
- Параметры:
-
monthDay- используемые месяц и день, не null - Возвращает:
- локальная дата, сформированная из этого года и указанных месяца и дня, не null
compareTo
public int compareTo(Year other)
Сравнение основано на значении года. Оно «согласовано с equals» в соответствии с определением Comparable.
- Указано в:
-
compareToв интерфейсеComparable<Year> - Параметры:
-
other- другой год для сравнения, не null - Возвращает:
- значение сравнения: меньше нуля, если этот год предшествует
other, ноль, если годы равны, или больше нуля, если этот год следует заother - См. также:
isAfter
public boolean isAfter(Year other)
- Параметры:
-
other- другой год для сравнения, не null - Возвращает:
- true, если этот год следует за указанным годом
isBefore
public boolean isBefore(Year other)
- Параметры:
-
other- другой год для сравнения, не null - Возвращает:
- true, если этот момент времени предшествует указанному году
equals
public boolean equals(Object obj)
Сравнение основано на положении годов на временной шкале.
hashCode
toString
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.