Spec-Zone.ru › OpenJDK 21

Класс 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()
Возвращает строковое представление объекта.
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)
Проверяет, поддерживается ли указанное поле.

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

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

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

with

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

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

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

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

с

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

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

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

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

minus

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

Этот метод возвращает новый объект, основанный на этом, с указанным периодом, вычтенным. Например, в случае 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(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()
Описание, скопированное из класса: Object
Возвращает строковое представление объекта.
Specified by:
toString в интерфейсе ChronoLocalDate
Overrides:
toString в классе Object
Returns:
строковое представление объекта.

© 1993, 2023, 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/21/docs/api/java.base/java/time/chrono/JapaneseDate.html

Spec-Zone.ru

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