Spec-Zone.ru › OpenJDK 17

Класс 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.

Это класc значений; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать экземпляры для синхронизации, иначе может произойти непредсказуемое поведение. Например, в будущей версии синхронизация может завершиться неудачей. Для сравнения следует использовать метод 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 amountToAdd, 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
См. также:
  • Chronology.date(TemporalAccessor)

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

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

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

with

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

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

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

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

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

Указано в:
minus в интерфейсе ChronoLocalDate
Указано в:
minus в интерфейсе Temporal
Параметры:
amountToAdd - количество указанного блока для вычитания, может быть отрицательным
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, 2021, 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/17/docs/api/java.base/java/time/chrono/JapaneseDate.html

Spec-Zone.ru

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