Класс 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 |
atTime |
Объединяет эту дату со временем для создания ChronoLocalDateTime. |
boolean |
equals |
Сравнивает эту дату с другой датой, включая хронологию. |
static JapaneseDate |
from |
Получает JapaneseDate из временного объекта. |
JapaneseChronology |
getChronology() |
Возвращает хронологию этой даты, которая является японской системой календаря. |
JapaneseEra |
getEra() |
Возвращает эпоху, применимую к этой дате. |
long |
getLong |
Возвращает значение указанного поля в качестве long. |
int |
hashCode() |
Хеш-код для этой даты. |
boolean |
isSupported |
Проверяет, поддерживается ли указанное поле. |
int |
lengthOfMonth() |
Возвращает длительность месяца, представленного этой датой. |
JapaneseDate |
minus |
Возвращает объект того же типа, что и этот объект, с вычитанием указанного периода. |
JapaneseDate |
minus |
Возвращает объект того же типа, что и этот объект, с вычитанием указанного количества. |
static JapaneseDate |
now() |
Получает текущую JapaneseDate из системных часов в часовом поясе по умолчанию. |
static JapaneseDate |
now |
Получает текущую JapaneseDate из указанных часов. |
static JapaneseDate |
now |
Получает текущую JapaneseDate из системных часов в указанном часовом поясе. |
static JapaneseDate |
of |
Получает JapaneseDate, представляющий дату в японской системе календаря из пролептического года, месяца и дня. |
static JapaneseDate |
of |
Получает JapaneseDate, представляющий дату в японской системе календаря из эпохи, года эпохи, месяца и дня. |
JapaneseDate |
plus |
Возвращает объект того же типа, что и этот объект, с добавлением указанного периода. |
JapaneseDate |
plus |
Возвращает объект того же типа, что и этот объект, с добавлением указанного количества. |
String |
toString() |
Выводит эту дату как String. |
ChronoPeriod |
until |
Вычисляет период между этой датой и другой датой как ChronoPeriod. |
long |
until |
Вычисляет количество времени до другой даты в терминах указанной единицы. |
JapaneseDate |
with |
Возвращает откорректированный объект того же типа, что и этот объект, с произведенной корректировкой. |
JapaneseDate |
with |
Возвращает объект того же типа, что и этот объект, с измененным указанным полем. |
Методы, объявленные в классе 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)
TemporalAccessorlong. Запрашивает значение указанного поля у даты-времени. Возвращаемое значение может находиться за пределами допустимого диапазона значений для поля. Если дата-время не может вернуть значение, потому что поле не поддерживается или по какой-либо другой причине, будет выброшено исключение.
- Определено в:
-
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)
ChronoLocalDateChronoLocalDateTime. Это возвращает ChronoLocalDateTime, сформированный из этой даты в указанное время. Все возможные комбинации даты и времени допустимы.
- Определено в:
-
atTimeв интерфейсеChronoLocalDate - Параметры:
-
localTime- локальное время для использования, не null - Возвращает:
- локальная дата-время, сформированная из этой даты и указанного времени, не null
until
public ChronoPeriod until(ChronoLocalDate endDate)
ChronoLocalDateChronoPeriod. Это вычисляет период между двумя датами. Все используемые хронологии вычисляют период, используя годы, месяцы и дни, однако 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:
hashCode
public int hashCode()
- Specified by:
-
hashCodeв интерфейсеChronoLocalDate - Returns:
- подходящий хеш-код, основанный только на хронологии и дате
- See Also:
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()
ChronoLocalDateString. Вывод будет включать полную локальную дату.
- 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