Класс JapaneseChronology
- Все реализованные интерфейсы:
-
Serializable,Comparable<Chronology>,Chronology
public final class JapaneseChronology extends AbstractChronology implements Serializable
Данная хронология определяет правила японской императорской системы календаря. Эта система календаря используется в основном в Японии. Японская императорская система календаря идентична системе ISO-календаря за исключением нумерации года на основе эры.
Япония приняла григорианский календарь, начиная с эры Мэйдзи 6. Поддерживаются только эры Мэйдзи и более поздние; даты до Мэйдзи 6, 1 января не поддерживаются.
Поддерживаемые 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 в этой хронологии из другого временного объекта. |
Методы, объявленные в классе java.time.chrono.AbstractChronology
compareTo, equals, hashCode, toString
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе java.time.chrono.Chronology
epochSecond, epochSecond, getDisplayName, period
Подробное описание полей
INSTANCE
public static final JapaneseChronology INSTANCE
Подробное описание методов
getId
public String getId()
Идентификатор однозначно определяет Chronology. Его можно использовать для поиска Chronology с помощью Chronology.of(String).
- Определено в:
-
getIdв интерфейсеChronology - Возвращает:
- идентификатор хронологии — 'Japanese'
- См. также:
getCalendarType
public String getCalendarType()
Тип календаря — идентификатор, определенный спецификацией Unicode Locale Data Markup Language (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, 2023, 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/21/docs/api/java.base/java/time/chrono/JapaneseChronology.html