Класс 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.
Это классовое значение; использование операций, чувствительных к идентификатору (включая равенство ссылок (==), хэш-код идентификатора или синхронизацию) на экземплярах JapaneseDate может привести к непредсказуемым результатам и следует избегать. Для сравнений следует использовать метод equals.
- Требования к реализации:
- Этот класс неизменяемый и потокобезопасный.
- С тех пор:
- 1.8
- См. также:
- Сериализованная форма
Методы
| Модификатор и тип | Метод и описание |
|---|---|
ChronoLocalDateTime<JapaneseDate> |
atTime(LocalTime localTime) Объединяет эту дату со временем, чтобы создать |
boolean |
equals(Object obj) Сравнивает эту дату с другой датой, включая хронологию. |
static JapaneseDate |
from(TemporalAccessor temporal) Получает |
JapaneseChronology |
getChronology() Получает хронологию этой даты, которая представляет японскую систему календаря. |
JapaneseEra |
getEra() Получает эру, применимую к этой дате. |
long |
getLong(TemporalField field) Получает значение указанного поля в виде |
int |
hashCode() Хэш-код для этой даты. |
boolean |
isSupported(TemporalField field) Проверяет, поддерживается ли указанное поле. |
int |
lengthOfMonth() Возвращает длительность месяца, представленного этой датой. |
int |
lengthOfYear() Возвращает длительность года, представленного этой датой, как определено системой календаря. |
JapaneseDate |
minus(long amountToAdd,
TemporalUnit unit) Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом. |
JapaneseDate |
minus(TemporalAmount amount) Возвращает объект того же типа, что и этот объект, с вычтенным количеством. |
static JapaneseDate |
now() Получает текущую |
static JapaneseDate |
now(Clock clock) Получает текущую |
static JapaneseDate |
now(ZoneId zone) Получает текущую |
static JapaneseDate |
of(int prolepticYear,
int month,
int dayOfMonth) Получает |
static JapaneseDate |
of(JapaneseEra era,
int yearOfEra,
int month,
int dayOfMonth) Получает |
JapaneseDate |
plus(long amountToAdd,
TemporalUnit unit) Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом. |
JapaneseDate |
plus(TemporalAmount amount) Возвращает объект того же типа, что и этот объект, с добавленным количеством. |
ValueRange |
range(TemporalField field) Получает диапазон допустимых значений для указанного поля. |
long |
toEpochDay() Преобразует эту дату в день эпохи. |
String |
toString() Возвращает строковое представление объекта. |
ChronoPeriod |
until(ChronoLocalDate endDate) Вычисляет период между этой датой и другой датой в виде |
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, query, timeLineOrder, toString, until Методы, унаследованные от интерфейса java.time.temporal.TemporalAccessor
get Методы
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.
- Определено в:
-
fromв интерфейсеChronoLocalDate - Параметры:
-
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()
Возвращает длительность месяца, представленного этой датой.
Возвращает длительность месяца в днях. Длительность месяцев соответствует системе календаря ISO.
- Определено в:
-
lengthOfMonthв интерфейсеChronoLocalDate - Возвращает:
- длительность месяца в днях
lengthOfYear
public int lengthOfYear()
Описание скопировано из интерфейса: ChronoLocalDate
Возвращает длительность года, представленного этой датой, как определено системой календаря.
Возвращает длительность года в днях.
Реализация по умолчанию использует ChronoLocalDate.isLeapYear() и возвращает 365 или 366.
- Определено в:
-
lengthOfYearв интерфейсе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 в противном случае
range
public ValueRange range(TemporalField field)
Описание скопировано из интерфейса: TemporalAccessor
Возвращает диапазон допустимых значений для указанного поля.
Все поля могут быть выражены как целочисленное значение long. Этот метод возвращает объект, описывающий допустимый диапазон для этого значения. Значение этого временного объекта используется для повышения точности возвращаемого диапазона. Если дата-время не может вернуть диапазон, потому что поле не поддерживается или по какой-либо другой причине, будет выброшено исключение.
Обратите внимание, что результат описывает только минимальное и максимальное допустимые значения, и не стоит делать слишком много выводов из них. Например, могут быть значения в диапазоне, которые недопустимы для поля.
- Определено в:
-
rangeв интерфейсеTemporalAccessor - Параметры:
-
field- поле для запроса диапазона, не null - Возвращает:
- диапазон допустимых значений для поля, не null
getLong
public long getLong(TemporalField field)
Описание скопировано из интерфейса: TemporalAccessor
Возвращает значение указанного поля как целое число long.
Запрашивает значение указанного поля для даты-времени. Возвращаемое значение может находиться вне допустимого диапазона значений для поля. Если дата-время не может вернуть значение, потому что поле не поддерживается или по какой-либо другой причине, будет выброшено исключение.
- Определено в:
-
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- если произошёл переполнение чисел
плюс
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- если произошёл переполнение чисел
минус
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- если произошёл переполнение чисел
плюс
public JapaneseDate plus(long amountToAdd,
TemporalUnit unit) Описание скопировано из интерфейса: ChronoLocalDate
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом.
Этот метод возвращает новый объект, основанный на этом, с добавленным указанным периодом. Например, для LocalDate, это можно использовать для добавления числа лет, месяцев или дней. Возвращаемый объект будет иметь тот же наблюдаемый тип, что и этот объект.
В некоторых случаях изменение поля не полностью определено. Например, если целевой объект представляет собой дату 31 января, то добавление одного месяца будет неясно. В таких случаях поле отвечает за разрешение результата. Обычно оно выберет предыдущую допустимую дату, которая в этом примере будет последним допустимым днём февраля.
- Указано в:
-
plusв интерфейсеChronoLocalDate - Указано в:
-
plusв интерфейсеTemporal - Параметры:
-
amountToAdd- количество указанной единицы для добавления, может быть отрицательным -
unit- единица количества для добавления, не null - Возвращает:
- объект того же типа с добавленным указанным периодом, не null
минус
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
toEpochDay
public long toEpochDay()
Описание скопировано из интерфейса: ChronoLocalDate
Преобразует эту дату в день Эпохи.
Epoch Day count — это простая нарастающая счётная единица дней, где день 0 — 1970-01-01 (ISO). Это определение одинаково для всех хронологий, что позволяет производить преобразования.
Это реализация по умолчанию запрашивает поле EPOCH_DAY.
- Указано в:
-
toEpochDayв интерфейсеChronoLocalDate - Возвращает:
- день Эпохи, эквивалентный этой дате
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
Возвращает строковое представление объекта. В общем случае, метод toString возвращает строку, которая «текстово представляет» этот объект. Результат должен быть лаконичным, но информативным представлением, удобным для чтения человеком. Рекомендуется всем подклассам переопределить этот метод.
Метод toString для класса Object возвращает строку, состоящую из имени класса, экземпляром которого является объект, символа «@» `@', и беззнакового шестнадцатеричного представления хэш-кода объекта. Другими словами, этот метод возвращает строку, равную значению:
getClass().getName() + '@' + Integer.toHexString(hashCode())
- Specified by:
-
toStringв интерфейсеChronoLocalDate - Overrides:
-
toStringв классеObject - Returns:
- строковое представление объекта.
© 1993, 2020, 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.