Spec-Zone.ru › OpenJDK 24

Класс 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. Поддерживаются только эпохи Мэйдзи и более поздние; даты до Мэйдзи 6, 1 января, не поддерживаются.

Например, японский год "Хэйсэй 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)
Возвращает объект того же типа, что и этот объект, с измененным указанным полем.

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

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

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

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

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

get, range

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

now

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

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

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

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

now

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

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

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

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

now

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

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

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

of

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

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

Японский месяц и день месяца такие же, как в григорианском календаре. Они не сбрасываются при смене эпохи. Например:

  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)
Получает дату в японском календаре по пролептическому году, месяцу и дню месяца.

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

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

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

from

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

Получает дату в японском календаре на основе указанного временного объекта. Дата представляет собой произвольную информацию о дате и времени, которую этот фабричный метод преобразует в экземпляр 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()
Возвращает длину месяца, представленного этой датой.

Возвращает длину месяца в днях. Длины месяцев соответствуют длине месяцев григорианского календаря.

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

isSupported

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

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

Specified by:
equals в интерфейсе ChronoLocalDate
Parameters:
obj - объект для проверки, null возвращает false
Returns:
true, если эта дата равна другой дате
See Also:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Хеш-код для этой даты.
Specified by:
hashCode в интерфейсе ChronoLocalDate
Returns:
подходящий хеш-код, основанный только на хронологии и дате
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.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 в качестве первого аргумента и преобразованный входной временной объект как второй аргумент.

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

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

toString

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

Вывод будет включать полную локальную дату.

Specified by:
toString в интерфейсе ChronoLocalDate
Overrides:
toString в классе Object
Returns:
отформатированная дата, не null

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/time/chrono/JapaneseDate.html

Spec-Zone.ru

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