Spec-Zone.ru › OpenJDK 25

Класс JapaneseDate

java.lang.Object
java.time.chrono.JapaneseDate
Все реализуемые интерфейсы:
Serializable, Comparable<ChronoLocalDate>, ChronoLocalDate, Temporal, TemporalAccessor, TemporalAdjuster
public final class JapaneseDate extends Object implements ChronoLocalDate, Serializable
Дата в японской императорской календарной системе.

Эта дата использует японский императорский календарь. Эта календарная система преимущественно используется в Японии.

Японская императорская календарная система совпадает с календарной системой ISO, за исключением нумерации лет по эрам. Пролептический год определяется как равный пролептическому году ISO.

Япония ввела григорианский календарь начиная с 6-го года эры Мэйдзи. Поддерживаются только эра Мэйдзи и последующие эры; даты до 1 января 6-го года эры Мэйдзи не поддерживаются.

Например, японский год «Хэйсэй 24» соответствует году ISO «2012».
Вызов japaneseDate.get(YEAR_OF_ERA) вернёт 24.
Вызов japaneseDate.get(YEAR) вернёт 2012.
Вызов japaneseDate.get(ERA) вернёт 2, что соответствует JapaneseChronology.ERA_HEISEI.

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

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

Краткое описание методов

Модификатор и тип Метод Описание
final ChronoLocalDateTime<JapaneseDate> atTime(LocalTime localTime)
Объединяет эту дату со временем, чтобы создать ChronoLocalDateTime.
boolean equals(Object obj)
Сравнивает эту дату с другой датой, включая хронологию.
static JapaneseDate from(TemporalAccessor temporal)
Получает JapaneseDate из временного объекта.
JapaneseChronology getChronology()
Получает хронологию этой даты, то есть японскую календарную систему.
JapaneseEra getEra()
Получает эру, действующую на эту дату.
long getLong(TemporalField field)
Получает значение указанного поля в виде long.
int hashCode()
Хеш-код этой даты.
boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
int lengthOfMonth()
Возвращает продолжительность месяца, представленного этой датой.
JapaneseDate minus(long amountToSubtract, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом.
JapaneseDate minus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с вычтенным значением.
static JapaneseDate now()
Получает текущий JapaneseDate по системным часам в часовом поясе по умолчанию.
static JapaneseDate now(Clock clock)
Получает текущий JapaneseDate по указанным часам.
static JapaneseDate now(ZoneId zone)
Получает текущий JapaneseDate по системным часам в указанном часовом поясе.
static JapaneseDate of(int prolepticYear, int month, int dayOfMonth)
Получает JapaneseDate, представляющий дату в японской календарной системе, на основе полей пролептического года, месяца и дня месяца.
static JapaneseDate of(JapaneseEra era, int yearOfEra, int month, int dayOfMonth)
Получает JapaneseDate, представляющий дату в японской календарной системе, на основе полей эры, года эры, месяца и дня месяца.
JapaneseDate plus(long amountToAdd, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом.
JapaneseDate plus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с добавленным значением.
String toString()
Выводит эту дату в виде String.
ChronoPeriod until(ChronoLocalDate endDate)
Вычисляет период между этой датой и другой датой в виде ChronoPeriod.
long until(Temporal endExclusive, TemporalUnit unit)
Вычисляет время до другой даты в единицах указанной величины.
JapaneseDate with(TemporalAdjuster adjuster)
Возвращает скорректированный объект того же типа, что и этот объект, с применённой корректировкой.
JapaneseDate with(TemporalField field, long newValue)
Возвращает объект того же типа, что и этот объект, с изменённым указанным полем.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе ChronoLocalDate

adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, lengthOfYear, query, toEpochDay, toString, until

Методы, объявленные в интерфейсе TemporalAccessor

get, range

Подробное описание методов

now

public static JapaneseDate now()
Получает текущую дату JapaneseDate по системным часам в часовом поясе по умолчанию.

Для получения текущей даты будет выполнен запрос к system clock в часовом поясе по умолчанию.

Использование этого метода не позволит использовать альтернативные часы для тестирования, поскольку часы жестко заданы.

Возвращает:
текущую дату по системным часам и в часовом поясе по умолчанию, не null

now

public static JapaneseDate now(ZoneId zone)
Получает текущую дату JapaneseDate по системным часам в указанном часовом поясе.

Для получения текущей даты будет выполнен запрос к system clock. Указание часового пояса позволяет избежать зависимости от часового пояса по умолчанию.

Использование этого метода не позволит использовать альтернативные часы для тестирования, поскольку часы жестко заданы.

Параметры:
zone — идентификатор часового пояса, который следует использовать, не null
Возвращает:
текущую дату по системным часам, не null

now

public static JapaneseDate now(Clock clock)
Получает текущую дату JapaneseDate по указанным часам.

Для получения текущей даты — сегодняшнего дня — будет выполнен запрос к указанным часам. Использование этого метода позволяет применять альтернативные часы для тестирования. Альтернативные часы можно внедрить с помощью внедрения зависимостей.

Параметры:
clock — часы, которые следует использовать, не null
Возвращает:
текущую дату, не null
Выбрасывает:
DateTimeException — если текущую дату невозможно получить

of

public static JapaneseDate of(JapaneseEra era, int yearOfEra, int month, int dayOfMonth)
Создает JapaneseDate, представляющую дату в японской календарной системе, на основе полей эры, года эры, месяца года и дня месяца.

Возвращает JapaneseDate с указанными полями. День должен быть допустимым для данного года и месяца, иначе будет выброшено исключение.

Месяцы и дни месяца в японском календаре совпадают с месяцами и днями месяца в календарной системе ISO. Они не обнуляются при смене эры. Например:

 6th Jan Showa 64 = ISO 1989-01-06
 7th Jan Showa 64 = ISO 1989-01-07
 8th Jan Heisei 1 = ISO 1989-01-08
 9th Jan Heisei 1 = ISO 1989-01-09
Параметры:
era — японская эра, не null
yearOfEra — японский год эры
month — японский месяц года, от 1 до 12
dayOfMonth — японский день месяца, от 1 до 31
Возвращает:
дату в японской календарной системе, не null
Выбрасывает:
DateTimeException — если значение любого поля выходит за допустимый диапазон, день месяца недопустим для данного месяца и года или дата не относится к японской эре

of

public static JapaneseDate of(int prolepticYear, int month, int dayOfMonth)
Создает JapaneseDate, представляющую дату в японской календарной системе, на основе полей пролептического года, месяца года и дня месяца.

Возвращает JapaneseDate с указанными полями. День должен быть допустимым для данного года и месяца, иначе будет выброшено исключение.

Японские пролептический год, месяц и день месяца совпадают с соответствующими значениями в календарной системе ISO. Они не обнуляются при смене эры.

Параметры:
prolepticYear — японский пролептический год
month — японский месяц года, от 1 до 12
dayOfMonth — японский день месяца, от 1 до 31
Возвращает:
дату в японской календарной системе, не null
Выбрасывает:
DateTimeException — если значение любого поля выходит за допустимый диапазон или день месяца недопустим для данного месяца и года

from

public static JapaneseDate from(TemporalAccessor temporal)
Получает JapaneseDate из временного объекта.

Получает дату в японской календарной системе на основе указанного временного объекта. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр JapaneseDate.

Обычно преобразование использует поле EPOCH_DAY, стандартизированное для всех календарных систем.

Сигнатура этого метода соответствует функциональному интерфейсу TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, JapaneseDate::from.

Параметры:
temporal — временной объект для преобразования, не null
Возвращает:
дату в японской календарной системе, не null
Выбрасывает:
DateTimeException — если невозможно преобразовать в JapaneseDate

getChronology

public JapaneseChronology getChronology()
Возвращает хронологию этой даты — японскую календарную систему.

Chronology представляет используемую календарную систему. Эра и другие поля в ChronoField определяются хронологией.

Определено в:
getChronology в интерфейсе ChronoLocalDate
Возвращает:
японскую хронологию, не null

getEra

public JapaneseEra getEra()
Возвращает эру, действующую на эту дату.

В японской календарной системе определено несколько эр, представленных классом JapaneseEra.

Определено в:
getEra в интерфейсе ChronoLocalDate
Возвращает:
эру, действующую на эту дату, не null

lengthOfMonth

public int lengthOfMonth()
Возвращает продолжительность месяца, представленного этой датой.

Возвращает продолжительность месяца в днях. Продолжительность месяцев совпадает с продолжительностью месяцев в календарной системе ISO.

Определено в:
lengthOfMonth в интерфейсе ChronoLocalDate
Возвращает:
продолжительность месяца в днях

isSupported

public boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.

Проверяет, можно ли запросить у этой даты значение указанного поля. Если нет, вызов методов range и get приведет к выбрасыванию исключения.

Если поле относится к типу ChronoField, запрос обрабатывается здесь. Поддерживаются следующие поля:

  • DAY_OF_WEEK
  • DAY_OF_MONTH
  • DAY_OF_YEAR
  • EPOCH_DAY
  • MONTH_OF_YEAR
  • PROLEPTIC_MONTH
  • YEAR_OF_ERA
  • YEAR
  • ERA
Для всех остальных экземпляров ChronoField возвращается false.

Если поле не относится к типу ChronoField, результат этого метода получается вызовом TemporalField.isSupportedBy(TemporalAccessor) с передачей this в качестве аргумента. Поддержка поля определяется самим полем.

Определено в:
isSupported в интерфейсе ChronoLocalDate
Определено в:
isSupported в интерфейсе TemporalAccessor
Параметры:
field — поле для проверки; null возвращает false
Возвращает:
true, если это поле поддерживается для данной даты, иначе false

getLong

public long getLong(TemporalField field)
Описание скопировано из интерфейса: TemporalAccessor
Возвращает значение указанного поля в виде long.

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

Определено в:
getLong в интерфейсе TemporalAccessor
Параметры:
field — поле для получения, не null
Возвращает:
значение поля

with

public JapaneseDate with(TemporalField field, long newValue)
Описание скопировано из интерфейса: Temporal
Возвращает объект того же типа, что и этот объект, с измененным указанным полем.

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

В некоторых случаях изменение поля определено не полностью. Например, если целевой объект — дата, соответствующая 31 января, изменение месяца на февраль будет неоднозначным. В таких случаях поле отвечает за определение результата. Обычно выбирается предыдущая допустимая дата, то есть в этом примере последний допустимый день февраля.

Определено в:
with в интерфейсе ChronoLocalDate
Определено в:
with в интерфейсе Temporal
Параметры:
field — поле, которое следует установить в результате, не null
newValue — новое значение поля в результате
Возвращает:
объект того же типа с установленным указанным полем, не null

with

public JapaneseDate with(TemporalAdjuster adjuster)
Возвращает скорректированный объект того же типа, что и этот объект.

Корректирует эту дату и время в соответствии с правилами указанного корректора. Простой корректор может лишь установить одно из полей, например поле года. Более сложный корректор может установить дату на последний день месяца. Набор часто используемых корректоров представлен в классе TemporalAdjusters. К ним относятся поиск «последнего дня месяца» и «следующей среды». Корректор отвечает за обработку особых случаев, например разной продолжительности месяцев и високосных лет.

Ниже приведены примеры кода, показывающие, как и зачем используется этот метод:

 date = date.with(Month.JULY);        // most key classes implement TemporalAdjuster
 date = date.with(lastDayOfMonth());  // static import from Adjusters
 date = date.with(next(WEDNESDAY));   // static import from Adjusters and DayOfWeek
Определено в:
with в интерфейсе ChronoLocalDate
Определено в:
with в интерфейсе Temporal
Параметры:
adjuster — используемый корректор, не null
Возвращает:
объект того же типа с указанной корректировкой, не null
Выбрасывает:
DateTimeException — если выполнить корректировку невозможно
ArithmeticException — при переполнении числового значения

plus

public JapaneseDate plus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с прибавленной величиной.

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

Ниже приведены примеры кода, показывающие, как и зачем используется этот метод:

 date = date.plus(period);                // add a Period instance
 date = date.plus(duration);              // add a Duration instance
 date = date.plus(workingDays(6));        // example user-written workingDays method

Обратите внимание, что вызов plus, за которым следует minus, не гарантирует возврата той же даты и времени.

Определено в:
plus в интерфейсе ChronoLocalDate
Определено в:
plus в интерфейсе Temporal
Параметры:
amount — прибавляемая величина, не null
Возвращает:
объект того же типа с указанной корректировкой, не null
Выбрасывает:
DateTimeException — если выполнить сложение невозможно
ArithmeticException — при переполнении числового значения

minus

public JapaneseDate minus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с вычтенной величиной.

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

Ниже приведены примеры кода, показывающие, как и зачем используется этот метод:

 date = date.minus(period);               // subtract a Period instance
 date = date.minus(duration);             // subtract a Duration instance
 date = date.minus(workingDays(6));       // example user-written workingDays method

Обратите внимание, что вызов plus, за которым следует minus, не гарантирует возврата той же даты и времени.

Определено в:
minus в интерфейсе ChronoLocalDate
Определено в:
minus в интерфейсе Temporal
Параметры:
amount — вычитаемая величина, не null
Возвращает:
объект того же типа с указанной корректировкой, не null
Выбрасывает:
DateTimeException — если выполнить вычитание невозможно
ArithmeticException — при переполнении числового значения

plus

public JapaneseDate plus(long amountToAdd, TemporalUnit unit)
Описание скопировано из интерфейса: Temporal
Возвращает объект того же типа, что и этот объект, с прибавленным указанным периодом.

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

В некоторых случаях изменение поля определено не полностью. Например, если целевой объект — дата, соответствующая 31 января, прибавление одного месяца будет неоднозначным. В таких случаях поле отвечает за определение результата. Обычно выбирается предыдущая допустимая дата, то есть в этом примере последний допустимый день февраля.

Определено в:
plus в интерфейсе ChronoLocalDate
Определено в:
plus в интерфейсе Temporal
Параметры:
amountToAdd — количество единиц указанной величины, которое нужно прибавить; может быть отрицательным
unit — единица измерения прибавляемой величины, не null
Возвращает:
объект того же типа с прибавленным указанным периодом, не null

minus

public JapaneseDate minus(long amountToSubtract, TemporalUnit unit)
Описание скопировано из интерфейса: Temporal
Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом.

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

В некоторых случаях изменение поля определено не полностью. Например, если целевой объект — дата, соответствующая 31 марта, вычитание одного месяца будет неоднозначным. В таких случаях поле отвечает за определение результата. Обычно выбирается предыдущая допустимая дата, то есть в этом примере последний допустимый день февраля.

Определено в:
minus в интерфейсе ChronoLocalDate
Определено в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract — количество единиц указанной величины, которое нужно вычесть; может быть отрицательным
unit — единица измерения вычитаемой величины, не null
Возвращает:
объект того же типа с вычтенным указанным периодом, не null

atTime

public final ChronoLocalDateTime<JapaneseDate> atTime(LocalTime localTime)
Описание скопировано из интерфейса: ChronoLocalDate
Объединяет эту дату со временем, чтобы создать ChronoLocalDateTime.

Возвращает ChronoLocalDateTime, образованный этой датой и указанным временем. Допустимы все возможные сочетания даты и времени.

Определено в:
atTime в интерфейсе ChronoLocalDate
Параметры:
localTime — используемое местное время, не null
Возвращает:
местные дату и время, образованные этой датой и указанным временем, не null

until

public ChronoPeriod until(ChronoLocalDate endDate)
Описание скопировано из интерфейса: ChronoLocalDate
Вычисляет период между этой датой и другой датой в виде ChronoPeriod.

Вычисляет период между двумя датами. Все предоставляемые хронологии вычисляют период в годах, месяцах и днях, однако API ChronoPeriod позволяет представлять период в других единицах.

Начальной точкой является this, конечной — указанная дата. Результат будет отрицательным, если конечная дата предшествует начальной. Знак результата будет одинаковым для года, месяца и дня.

Вычисление выполняется с использованием хронологии этой даты. При необходимости входная дата будет преобразована в соответствующую хронологию.

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

Определено в:
until в интерфейсе ChronoLocalDate
Параметры:
endDate — конечная дата, не включаемая в расчет; может относиться к любой хронологии, не null
Возвращает:
период между этой датой и конечной датой, не null

equals

public boolean equals(Object obj)
Сравнивает эту дату с другой датой, включая хронологию.

Сравнивает эту JapaneseDate с другой, проверяя совпадение дат.

Сравниваются только объекты типа JapaneseDate; для объектов других типов возвращается false. Чтобы сравнить даты двух экземпляров TemporalAccessor, в том числе даты в разных хронологиях, используйте ChronoField.EPOCH_DAY в качестве компаратора.

Определено в:
equals в интерфейсе ChronoLocalDate
Параметры:
obj — проверяемый объект; null возвращает false
Возвращает:
true, если эта дата равна другой дате
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Хеш-код этой даты.
Определено в:
hashCode в интерфейсе ChronoLocalDate
Возвращает:
подходящий хеш-код, основанный только на хронологии и дате
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

until

public long until(Temporal endExclusive, TemporalUnit unit)
Описание скопировано из интерфейса: ChronoLocalDate
Вычисляет промежуток времени до другой даты в указанных единицах.

Вычисляет промежуток времени между двумя объектами ChronoLocalDate в единицах одной TemporalUnit. Начальной точкой является this, конечной — указанная дата. Результат будет отрицательным, если конечная дата предшествует начальной. Переданный в этот метод объект Temporal преобразуется в ChronoLocalDate с помощью Chronology.date(TemporalAccessor). Вычисление возвращает целое число, представляющее количество полных единиц между двумя датами. Например, промежуток в днях между двумя датами можно вычислить с помощью startDate.until(endDate, DAYS).

Этот метод можно использовать двумя эквивалентными способами. Первый — вызвать этот метод. Второй — использовать TemporalUnit.between(Temporal, Temporal):

  // these two lines are equivalent
  amount = start.until(end, MONTHS);
  amount = MONTHS.between(start, end);
Выбор следует делать исходя из того, какой вариант делает код более понятным.

Вычисление реализовано в этом методе для ChronoUnit. Все реализации должны поддерживать единицы DAYS, WEEKS, MONTHS, YEARS, DECADES, CENTURIES, MILLENNIA и ERAS. Для других значений ChronoUnit будет выброшено исключение.

Если единица не относится к типу ChronoUnit, результат этого метода получается вызовом TemporalUnit.between(Temporal, Temporal) с передачей this в качестве первого аргумента и преобразованного входного временного объекта в качестве второго аргумента.

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

Определено в:
until в интерфейсе ChronoLocalDate
Определено в:
until в интерфейсе Temporal
Параметры:
endExclusive — конечная дата, не включаемая в расчет; преобразуется в ChronoLocalDate той же хронологии, не null
unit — единица измерения промежутка времени, не null
Возвращает:
промежуток времени между этой датой и конечной датой

toString

public String toString()
Описание скопировано из интерфейса: ChronoLocalDate
Выводит эту дату в виде String.

Вывод будет содержать полную местную дату.

Определено в:
toString в интерфейсе ChronoLocalDate
Переопределяет:
toString в классе Object
Возвращает:
отформатированную дату, не null

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

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/chrono/JapaneseDate.html

Spec-Zone.ru

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