Класс JapaneseChronology
- Все реализуемые интерфейсы:
Serializable, Comparable<Chronology>, Chronology
public final class JapaneseChronology extends AbstractChronology implements Serializable
Эта хронология определяет правила японской императорской календарной системы. Эта календарная система используется преимущественно в Японии. Японская императорская календарная система совпадает с календарной системой ISO, за исключением нумерации лет по эрам.
Япония перешла на григорианский календарь начиная с 6-го года Мэйдзи. Поддерживаются только эры Мэйдзи и последующие; даты до 1 января 6-го года Мэйдзи не поддерживаются.
Поддерживаемые экземпляры ChronoField:
-
DAY_OF_WEEK -
DAY_OF_MONTH -
DAY_OF_YEAR -
EPOCH_DAY -
MONTH_OF_YEAR -
PROLEPTIC_MONTH -
YEAR_OF_ERA -
YEAR -
ERA
- Требования к реализации:
- Этот класс является неизменяемым и потокобезопасным.
- С версии:
- 1.8
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final JapaneseChronology |
INSTANCE |
Единственный экземпляр японской хронологии. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
JapaneseDate |
date |
Получает локальную дату в японской календарной системе на основе полей пролептического года, месяца и дня месяца. |
JapaneseDate |
date |
Получает локальную дату в японской календарной системе на основе полей эры, года эры, месяца и дня месяца. |
JapaneseDate |
date |
Получает локальную дату в этой хронологии на основе другого объекта времени. |
JapaneseDate |
dateEpochDay |
Получает локальную дату в японской календарной системе на основе дня эпохи. |
JapaneseDate |
dateNow() |
Получает текущую локальную дату в этой хронологии по системным часам в часовом поясе по умолчанию. |
JapaneseDate |
dateNow |
Получает текущую локальную дату в этой хронологии по указанным часам. |
JapaneseDate |
dateNow |
Получает текущую локальную дату в этой хронологии по системным часам в указанном часовом поясе. |
JapaneseDate |
dateYearDay |
Получает локальную дату в японской календарной системе на основе полей пролептического года и дня года. |
JapaneseDate |
dateYearDay |
Получает локальную дату в японской календарной системе на основе полей эры, года эры и дня года. |
JapaneseEra |
eraOf |
Возвращает объект эры календарной системы по заданному числовому значению. |
List |
eras() |
Получает список эр этой хронологии. |
String |
getCalendarType() |
Получает тип базовой календарной системы — 'japanese'. |
String |
getId() |
Получает идентификатор хронологии — 'Japanese'. |
boolean |
isIsoBased() |
JapaneseChronology — хронология на основе ISO, поддерживающая поля из IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR. |
boolean |
isLeapYear |
Проверяет, является ли указанный год високосным. |
ChronoLocalDateTime |
localDateTime |
Получает локальные дату и время в этой хронологии на основе другого объекта времени. |
int |
prolepticYear |
Вычисляет пролептический год по эре и году эры. |
ValueRange |
range |
Получает диапазон допустимых значений для указанного поля. |
JapaneseDate |
resolveDate |
Преобразует разобранные значения ChronoField в дату во время разбора. |
ChronoZonedDateTime |
zonedDateTime |
Получает ChronoZonedDateTime в этой хронологии из Instant. |
ChronoZonedDateTime |
zonedDateTime |
Получает ChronoZonedDateTime в этой хронологии на основе другого объекта времени. |
Методы, объявленные в классе AbstractChronology
compareTo, equals, hashCode, toString | Модификатор и тип | Метод | Описание |
|---|---|---|
int |
compareTo |
Сравнивает эту хронологию с другой хронологией. |
boolean |
equals |
Проверяет, равна ли эта хронология другой хронологии. |
int |
hashCode() |
Хеш-код этой хронологии. |
String |
toString() |
Представляет эту хронологию в виде String, используя идентификатор хронологии. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, предназначено для удаления: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе Chronology
epochSecond, epochSecond, getDisplayName, period | Модификатор и тип | Метод | Описание |
|---|---|---|
default long |
epochSecond |
Получает количество секунд, прошедших с начала эпохи 1970-01-01T00:00:00Z. |
default long |
epochSecond |
Получает количество секунд, прошедших с начала эпохи 1970-01-01T00:00:00Z. |
default String |
getDisplayName |
Получает текстовое представление этой хронологии. |
default ChronoPeriod |
period |
Получает период для этой хронологии на основе лет, месяцев и дней. |
Подробное описание полей
INSTANCE
public static final JapaneseChronology INSTANCE
Подробное описание методов
getId
public String getId()
Идентификатор уникально определяет Chronology. Его можно использовать для поиска Chronology с помощью Chronology.of(String).
- Определён в:
-
getIdв интерфейсеChronology - Возвращает:
- идентификатор хронологии — 'Japanese'
- См. также:
getCalendarType
public String getCalendarType()
Тип календаря — это идентификатор, определённый спецификацией языка разметки данных локалей Unicode (LDML). Его можно использовать для поиска Chronology с помощью Chronology.of(String). Его также можно использовать как часть локали; доступ к нему осуществляется через Locale.getUnicodeLocaleType(String) с ключом 'ca'.
- Определён в:
-
getCalendarTypeв интерфейсеChronology - Возвращает:
- тип календарной системы — 'japanese'
- См. также:
date
public JapaneseDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Японские месяцы и дни месяца совпадают с месяцами и днями месяца календарной системы 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
- Определён в:
-
dateв интерфейсеChronology - Параметры:
-
era— японская эра, не null -
yearOfEra— год эры -
month— месяц года -
dayOfMonth— день месяца - Возвращает:
- локальную японскую дату, не null
- Выбрасывает:
-
DateTimeException— если не удаётся создать дату -
ClassCastException— еслиeraне являетсяJapaneseEra
date
public JapaneseDate date(int prolepticYear, int month, int dayOfMonth)
Японские пролептические год, месяц и день месяца совпадают с соответствующими значениями календарной системы ISO. Они не сбрасываются при смене эры.
- Определён в:
-
dateв интерфейсеChronology - Параметры:
-
prolepticYear— пролептический год -
month— месяц года -
dayOfMonth— день месяца - Возвращает:
- локальную японскую дату, не null
- Выбрасывает:
-
DateTimeException— если не удаётся создать дату
dateYearDay
public JapaneseDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
В этом фабричном методе день года отсчитывается от начала года эры. Это определение меняет обычное значение дня года только в тех годах, когда год эры сбрасывается до единицы из-за смены эры. Например:
6th Jan Showa 64 = day-of-year 6 7th Jan Showa 64 = day-of-year 7 8th Jan Heisei 1 = day-of-year 1 9th Jan Heisei 1 = day-of-year 2
- Определён в:
-
dateYearDayв интерфейсеChronology - Параметры:
-
era— японская эра, не null -
yearOfEra— год эры -
dayOfYear— день года - Возвращает:
- локальную японскую дату, не null
- Выбрасывает:
-
DateTimeException— если не удаётся создать дату -
ClassCastException— еслиeraне являетсяJapaneseEra
dateYearDay
public JapaneseDate dateYearDay(int prolepticYear, int dayOfYear)
В этом фабричном методе день года отсчитывается от начала пролептического года. Японские пролептический год и день года совпадают с соответствующими значениями календарной системы ISO. Они не сбрасываются при смене эры.
- Определён в:
-
dateYearDayв интерфейсеChronology - Параметры:
-
prolepticYear— пролептический год -
dayOfYear— день года - Возвращает:
- локальную японскую дату, не null
- Выбрасывает:
-
DateTimeException— если не удаётся создать дату
dateEpochDay
public JapaneseDate dateEpochDay(long epochDay)
- Определён в:
-
dateEpochDayв интерфейсеChronology - Параметры:
-
epochDay— день эпохи - Возвращает:
- локальную японскую дату, не null
- Выбрасывает:
-
DateTimeException— если не удаётся создать дату
dateNow
public JapaneseDate dateNow()
Chronology Для получения текущей даты будет выполнен запрос к system clock в часовом поясе по умолчанию.
Использование этого метода не позволяет применять альтернативные часы для тестирования, поскольку часы жёстко заданы.
- Определён в:
-
dateNowв интерфейсеChronology - Возвращает:
- текущую локальную дату по системным часам и в часовом поясе по умолчанию, не null
dateNow
public JapaneseDate dateNow(ZoneId zone)
Chronology Для получения текущей даты будет выполнен запрос к system clock. Указание часового пояса позволяет избежать зависимости от часового пояса по умолчанию.
Использование этого метода не позволяет применять альтернативные часы для тестирования, поскольку часы жёстко заданы.
- Определён в:
-
dateNowв интерфейсеChronology - Параметры:
-
zone— используемый идентификатор часового пояса, не null - Возвращает:
- текущую локальную дату по системным часам, не null
dateNow
public JapaneseDate dateNow(Clock clock)
Chronology Для получения текущей даты — сегодняшнего дня — будет выполнен запрос к указанным часам. Этот метод позволяет использовать альтернативные часы для тестирования. Альтернативные часы можно создать с помощью dependency injection.
- Определён в:
-
dateNowв интерфейсеChronology - Параметры:
-
clock— используемые часы, не null - Возвращает:
- текущую локальную дату, не null
date
public JapaneseDate date(TemporalAccessor temporal)
Chronology Этот метод создаёт дату в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет произвольный набор сведений о дате и времени, который этот фабричный метод преобразует в экземпляр ChronoLocalDate.
Для преобразования обычно используется поле EPOCH_DAY, стандартизированное для разных календарных систем.
Сигнатура этого метода соответствует функциональному интерфейсу TemporalQuery, что позволяет использовать его как запрос посредством ссылки на метод: aChronology::date.
- Определён в:
-
dateв интерфейсеChronology - Параметры:
-
temporal— преобразуемый временной объект, не null - Возвращает:
- локальную дату в этой хронологии, не null
- См. также:
localDateTime
public ChronoLocalDateTime<JapaneseDate> localDateTime(TemporalAccessor temporal)
Chronology Этот метод создаёт дату и время в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет произвольный набор сведений о дате и времени, который этот фабричный метод преобразует в экземпляр ChronoLocalDateTime.
При преобразовании из временного объекта извлекаются и объединяются ChronoLocalDate и LocalTime. Реализациям разрешается выполнять оптимизацию, например обращаться к полям, эквивалентным соответствующим объектам. В результате используется эта хронология.
Сигнатура этого метода соответствует функциональному интерфейсу TemporalQuery, что позволяет использовать его как запрос посредством ссылки на метод: aChronology::localDateTime.
- Определён в:
-
localDateTimeв интерфейсеChronology - Параметры:
-
temporal— преобразуемый временной объект, не null - Возвращает:
- локальные дату и время в этой хронологии, не null
- См. также:
zonedDateTime
public ChronoZonedDateTime<JapaneseDate> zonedDateTime(TemporalAccessor temporal)
ChronologyChronoZonedDateTime в этой хронологии на основе другого временного объекта. Этот метод создаёт дату и время с часовым поясом в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет произвольный набор сведений о дате и времени, который этот фабричный метод преобразует в экземпляр ChronoZonedDateTime.
Сначала при преобразовании из временного объекта будет получен ZoneId, а при необходимости — ZoneOffset. Затем будет предпринята попытка получить Instant, а при необходимости — ChronoLocalDateTime. Результатом будет либо комбинация ZoneId или ZoneOffset с Instant или ChronoLocalDateTime. Реализациям разрешается выполнять оптимизацию, например обращаться к полям, эквивалентным соответствующим объектам. В результате используется эта хронология.
Сигнатура этого метода соответствует функциональному интерфейсу TemporalQuery, что позволяет использовать его как запрос посредством ссылки на метод: aChronology::zonedDateTime.
- Определён в:
-
zonedDateTimeв интерфейсеChronology - Параметры:
-
temporal— преобразуемый временной объект, не null - Возвращает:
- дату и время с часовым поясом в этой хронологии, не null
- См. также:
zonedDateTime
public ChronoZonedDateTime<JapaneseDate> zonedDateTime(Instant instant, ZoneId zone)
ChronologyChronoZonedDateTime в этой хронологии на основе Instant. Этот метод создаёт дату и время с часовым поясом, соответствующие указанному моменту времени.
- Определён в:
-
zonedDateTimeв интерфейсеChronology - Параметры:
-
instant— момент времени, на основе которого создаются дата и время, не null -
zone— часовой пояс, не null - Возвращает:
- дату и время с часовым поясом, не null
isLeapYear
public boolean isLeapYear(long prolepticYear)
В японском календаре високосные годы полностью соответствуют високосным годам ISO. Этот метод не проверяет переданный год и определяет результат только для годов в поддерживаемом диапазоне.
- Определён в:
-
isLeapYearв интерфейсеChronology - Параметры:
-
prolepticYear— проверяемый пролептический год; диапазон не проверяется - Возвращает:
- true, если год високосный
prolepticYear
public int prolepticYear(Era era, int yearOfEra)
ChronologyОбъединяет эру и год эры в единое поле пролептического года.
Если хронология активно использует эры, например JapaneseChronology, год эры проверяется на соответствие эре. Для других хронологий проверка необязательна.
- Определён в:
-
prolepticYearв интерфейсеChronology - Параметры:
-
era— эра правильного для хронологии типа, не null -
yearOfEra— год эры в хронологии - Возвращает:
- пролептический год
eraOf
public JapaneseEra eraOf(int eraValue)
JapaneseEra.of(int).- Определён в:
-
eraOfв интерфейсеChronology - Параметры:
-
eraValue— значение эры - Возвращает:
- японскую
Eraдля заданного числового значения эры - Выбрасывает:
-
DateTimeException— еслиeraValueнедопустимо
eras
public List<Era> eras()
ChronologyВ большинстве календарных систем есть эра, в рамках которой определяется значение года. Если календарная система не поддерживает понятие эр, необходимо вернуть пустой список.
- Определён в:
-
erasв интерфейсеChronology - Возвращает:
- список эр хронологии; может быть неизменяемым, не null
range
public ValueRange range(ChronoField field)
Chronology Все поля можно представить в виде целого числа long. Этот метод возвращает объект, описывающий допустимый диапазон этого значения.
Обратите внимание, что результат описывает только минимальные и максимальные допустимые значения; не следует делать из него чрезмерно далеко идущие выводы. Например, внутри диапазона могут быть значения, недопустимые для данного поля.
Этот метод возвращает результат независимо от того, поддерживает ли хронология данное поле.
- Определён в:
-
rangeв интерфейсеChronology - Параметры:
-
field— поле, для которого нужно получить диапазон, не null - Возвращает:
- диапазон допустимых значений поля, не null
resolveDate
public JapaneseDate resolveDate(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle)
AbstractChronologyChronoField в дату во время синтаксического разбора. Большинство реализаций TemporalField разрешается с помощью метода resolve поля. В отличие от них, класс ChronoField определяет поля, имеющие смысл только относительно хронологии. Поэтому поля даты ChronoField разрешаются здесь в контексте конкретной хронологии.
Экземпляры ChronoField разрешаются этим методом, который можно переопределить в подклассах.
-
EPOCH_DAY— если присутствует, это значение преобразуется в дату, после чего все остальные поля даты сверяются с ней. -
PROLEPTIC_MONTH— если присутствует, оно разделяется наYEARиMONTH_OF_YEAR. В строгом и интеллектуальном режимах поле проверяется. -
YEAR_OF_ERAиERA— если присутствуют оба поля, они объединяются для формированияYEAR. В нестрогом режиме диапазонYEAR_OF_ERAне проверяется, а в интеллектуальном и строгом режимах проверяется. ДиапазонERAпроверяется во всех трёх режимах. Если присутствует толькоYEAR_OF_ERA, а режим — интеллектуальный или нестрогий, предполагается последняя доступная эра. В строгом режиме эра не предполагается, аYEAR_OF_ERAостаётся без изменений. Если присутствует толькоERA, оно остаётся без изменений. -
YEAR,MONTH_OF_YEARиDAY_OF_MONTH— если присутствуют все три поля, они объединяются для формирования даты. Во всех трёх режимах проверяетсяYEAR. В интеллектуальном и строгом режимах проверяются месяц и день. В нестрогом режиме дата формируется так, как если бы была создана дата на первый день первого месяца запрошенного года, после чего добавлена разница в месяцах, а затем разница в днях. В интеллектуальном режиме, если день месяца превышает максимальное значение для года и месяца, он заменяется последним днём месяца. В строгом режиме эти три поля должны образовывать допустимую дату. -
YEARиDAY_OF_YEAR— если присутствуют оба поля, они объединяются для формирования даты. Во всех трёх режимах проверяетсяYEAR. В нестрогом режиме дата формируется так, как если бы была создана дата на первый день запрошенного года, после чего добавлена разница в днях. В интеллектуальном и строгом режимах эти два поля должны образовывать допустимую дату. -
YEAR,MONTH_OF_YEAR,ALIGNED_WEEK_OF_MONTHиALIGNED_DAY_OF_WEEK_IN_MONTH— если присутствуют все четыре поля, они объединяются для формирования даты. Во всех трёх режимах проверяетсяYEAR. В нестрогом режиме дата формируется так, как если бы была создана дата на первый день первого месяца запрошенного года, после чего добавлена разница в месяцах, затем разница в неделях и, наконец, в днях. В интеллектуальном и строгом режимах все четыре поля проверяются на соответствие их предельным диапазонам. Затем дата формируется так, как если бы была создана дата на первый день запрошенных года и месяца, после чего добавлено указанное количество недель и дней. В строгом режиме дополнительно проверяется, что корректировка дня и недели не привела к изменению месяца. -
YEAR,MONTH_OF_YEAR,ALIGNED_WEEK_OF_MONTHиDAY_OF_WEEK— если присутствуют все четыре поля, они объединяются для формирования даты. Подход такой же, как описанный выше для годов, месяцев и недель вALIGNED_DAY_OF_WEEK_IN_MONTH. После обработки годов, месяцев и недель день недели корректируется до следующего совпадающего дня недели или остаётся без изменений, если уже совпадает. -
YEAR,ALIGNED_WEEK_OF_YEARиALIGNED_DAY_OF_WEEK_IN_YEAR— если присутствуют все три поля, они объединяются для формирования даты. Во всех трёх режимах проверяетсяYEAR. В нестрогом режиме дата формируется так, как если бы была создана дата на первый день запрошенного года, после чего добавлена разница в неделях, а затем в днях. В интеллектуальном и строгом режимах все три поля проверяются на соответствие их предельным диапазонам. Затем дата формируется так, как если бы была создана дата на первый день запрошенного года, после чего добавлено указанное количество недель и дней. В строгом режиме дополнительно проверяется, что корректировка дня и недели не привела к изменению года. -
YEAR,ALIGNED_WEEK_OF_YEARиDAY_OF_WEEK— если присутствуют все три поля, они объединяются для формирования даты. Подход такой же, как описанный выше для годов и недель вALIGNED_DAY_OF_WEEK_IN_YEAR. После обработки годов и недель день недели корректируется до следующего совпадающего дня недели или остаётся без изменений, если уже совпадает.
Реализация по умолчанию подходит для большинства календарных систем. Если обнаружено поле ChronoField.YEAR_OF_ERA без поля ChronoField.ERA, используется последняя эра из списка Chronology.eras(). Реализация предполагает, что неделя состоит из 7 дней, первый день месяца имеет значение 1, первый день года имеет значение 1, а первый день месяца и года всегда существует.
- Определён в:
-
resolveDateв интерфейсеChronology - Переопределяет:
-
resolveDateв классеAbstractChronology - Параметры:
-
fieldValues— карта полей и значений, которую можно изменить, не null -
resolverStyle— запрошенный тип разрешения, не null - Возвращает:
- разрешённую дату; null, если данных недостаточно для создания даты
isIsoBased
public boolean isIsoBased()
JapaneseChronology — хронология на основе ISO, поддерживающая поля из IsoFields, например DAY_OF_QUARTER и QUARTER_OF_YEAR.- Определён в:
-
isIsoBasedв интерфейсеChronology - Возвращает:
true- С версии:
- 19
- См. также:
© 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.