Класс 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
- См. также:
- Формат сериализации
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean | equals(Object obj) | Сравнивает эту дату с другой датой, включая хронологию. |
static JapaneseDate | from(TemporalAccessor temporal) | Получает |
JapaneseChronology | getChronology() | Получает хронологию этой даты, которая представляет японскую систему календаря. |
JapaneseEra | getEra() | Получает эпоху, применимую в эту дату. |
int | hashCode() | Хэш-код для этой даты. |
boolean | isSupported(TemporalField field) | Проверяет, поддерживается ли указанное поле. |
int | lengthOfMonth() | Возвращает длину месяца, представленного этой датой. |
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(TemporalAmount amount) | Возвращает объект того же типа, что и этот объект, с добавлением заданного количества. |
String | toString() | Возвращает строковое представление объекта. |
long | until(Temporal endExclusive,
TemporalUnit unit) | Вычисляет продолжительность времени до другой даты в терминах указанного единицы измерения. |
JapaneseDate | with(TemporalAdjuster adjuster) | Возвращает откорректированный объект того же типа, что и этот объект, с произведённой корректировкой. |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы, объявленные в интерфейсе java.time.chrono.ChronoLocalDate
adjustInto, atTime, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, lengthOfYear, minus, plus, query, toEpochDay, toString, until, until, with Методы, объявленные в интерфейсе java.time.temporal.TemporalAccessor
get, getLong, range Методы
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.
- Параметры:
-
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 - Возвращает:
- длительность месяца в днях
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 - если нет
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- если произошел переполнение числа
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 в качестве первого аргумента и преобразованного входного временного значения в качестве второго аргумента.
Этот экземпляр неизменяем и не изменяется этим вызовом метода.
- Установлено:
-
untilв интерфейсеChronoLocalDate - Установлено:
-
untilв интерфейсеTemporal - Параметры:
-
endExclusive- конечная дата, исключая, которая преобразуется вChronoLocalDateв той же хронологии, не null -
unit- единица измерения, не null - Возвращает:
- количество времени между этой датой и конечной датой
toString
public String toString()
Описание скопировано из класса: Object
Возвращает строковое представление объекта. В общем случае метод toString возвращает строку, которая «текстово представляет» этот объект. Результат должен быть кратким, но информативным представлением, удобным для чтения человеком. Рекомендуется переопределять этот метод во всех подклассах.
Метод toString для класса Object возвращает строку, состоящую из имени класса, к которому принадлежит объект, символа «@» `@', и беззнакового шестнадцатеричного представления хэш-кода объекта. Другими словами, этот метод возвращает строку, равную значению:
getClass().getName() + '@' + Integer.toHexString(hashCode())
- Установлено:
-
toStringв интерфейсеChronoLocalDate - Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление объекта.
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/chrono/JapaneseDate.html