Класс JapaneseChronology
- java.lang.Object
-
- java.time.chrono.AbstractChronology
-
- java.time.chrono.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 JapaneseChronology |
INSTANCE Единственный экземпляр для японской хронологии. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
JapaneseDate |
date(Era era,
int yearOfEra,
int month,
int dayOfMonth) Получает локальную дату в японской системе календаря по полям эры, года эры, месяца и дня месяца. |
JapaneseDate |
date(int prolepticYear,
int month,
int dayOfMonth) Получает локальную дату в японской системе календаря по полям пролептического года, месяца и дня месяца. |
JapaneseDate |
date(TemporalAccessor temporal) Получает локальную дату в данной хронологии из другого временного объекта. |
JapaneseDate |
dateEpochDay(long epochDay) Получает локальную дату в японской системе календаря по дню эры. |
JapaneseDate |
dateNow() Получает текущую локальную дату в данной хронологии из системных часов в часовом поясе по умолчанию. |
JapaneseDate |
dateNow(Clock clock) Получает текущую локальную дату в данной хронологии из указанных часов. |
JapaneseDate |
dateNow(ZoneId zone) Получает текущую локальную дату в данной хронологии из системных часов в указанном часовом поясе. |
JapaneseDate |
dateYearDay(Era era,
int yearOfEra,
int dayOfYear) Получает локальную дату в японской системе календаря по полям эры, года эры и дня года. |
JapaneseDate |
dateYearDay(int prolepticYear,
int dayOfYear) Получает локальную дату в японской системе календаря по полям пролептического года и дня года. |
JapaneseEra |
eraOf(int eraValue) Возвращает объект эры системы календаря по заданному числовому значению. |
List<Era> |
eras() Получает список эр для хронологии. |
String |
getCalendarType() Получает тип календаря базовой системы календаря — 'japanese'. |
String |
getId() Получает идентификатор хронологии — 'Japanese'. |
boolean |
isLeapYear(long prolepticYear) Проверяет, является ли указанный год високосным. |
ChronoLocalDateTime<JapaneseDate> |
localDateTime(TemporalAccessor temporal) Получает локальную дату-время в данной хронологии из другого временного объекта. |
int |
prolepticYear(Era era,
int yearOfEra) Вычисляет пролептический год, учитывая эру и год эры. |
ValueRange |
range(ChronoField field) Получает диапазон допустимых значений для указанного поля. |
JapaneseDate |
resolveDate(Map<TemporalField,Long> fieldValues,
ResolverStyle resolverStyle) Разрешает проанализированные |
ChronoZonedDateTime<JapaneseDate> |
zonedDateTime(Instant instant,
ZoneId zone) Получает |
ChronoZonedDateTime<JapaneseDate> |
zonedDateTime(TemporalAccessor temporal) Получает |
Методы, унаследованные от класса java.time.chrono.AbstractChronology
compareTo, equals, hashCode, toString Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы, унаследованные от интерфейса java.time.chrono.Chronology
from, getDisplayName, period Поля
INSTANCE
public static final JapaneseChronology INSTANCE
Экземпляр-синглтон для японской хронологии.
Методы
getId
public String getId()
Возвращает идентификатор хронологии — 'Japanese'.
Идентификатор уникально определяет Chronology. Его можно использовать для поиска Chronology с помощью Chronology.of(String).
- Определено в:
-
getIdв интерфейсеChronology - Возвращает:
- идентификатор хронологии — 'Japanese'
- См. также:
getCalendarType()
getCalendarType
public String getCalendarType()
Возвращает тип календаря базовой календарной системы — 'japanese'.
Тип календаря — это идентификатор, определённый спецификацией Unicode Locale Data Markup Language (LDML). Его можно использовать для поиска Chronology с помощью Chronology.of(String). Его также можно использовать в качестве части локали, доступной через Locale.getUnicodeLocaleType(String) с ключом 'ca'.
- Определено в:
-
getCalendarTypeв интерфейсеChronology - Возвращает:
- тип календарной системы — 'japanese'
- См. также:
getId()
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
- См. также:
ChronoLocalDate.from(TemporalAccessor)
localDateTime
public ChronoLocalDateTime<JapaneseDate> localDateTime(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает локальное время и дату в этой хронологии из другого временного объекта.
Получает время и дату в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет собой произвольный набор информации о дате и времени, который этот фабричный метод преобразует в экземпляр ChronoLocalDateTime.
Преобразование извлекает и объединяет ChronoLocalDate и LocalTime из временного объекта. Реализации разрешено выполнять оптимизации, такие как доступ к полям, эквивалентным соответствующим объектам. Результат использует эту хронологию.
Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, позволяя использовать его в качестве запроса с помощью ссылки на метод, aChronology::localDateTime.
- Определено в:
-
localDateTimeв интерфейсеChronology - Параметры:
-
temporal— преобразуемый временной объект, не null - Возвращает:
- локальное время и дату в этой хронологии, не null
- См. также:
ChronoLocalDateTime.from(TemporalAccessor)
zonedDateTime
public ChronoZonedDateTime<JapaneseDate> zonedDateTime(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает ChronoZonedDateTime в этой хронологии из другого временного объекта.
Это получает зонированное время в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет произвольный набор информации о дате и времени, который этот фабричный метод преобразует в экземпляр ChronoZonedDateTime.
Преобразование сначала получит ZoneId из временного объекта, используя ZoneOffset в случае необходимости. Затем оно попытается получить Instant, используя ChronoLocalDateTime в случае необходимости. Результатом будет либо комбинация ZoneId или ZoneOffset с Instant или ChronoLocalDateTime. Реализации разрешается выполнять оптимизации, такие как доступ к тем полям, которые эквивалентны соответствующим объектам. Результат использует эту хронологию.
Этот метод соответствует подписи функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса с помощью ссылки на метод, aChronology::zonedDateTime.
- Specified by:
-
zonedDateTimeв интерфейсеChronology - Parameters:
-
temporal- временной объект для преобразования, не null - Returns:
- зонированное время в этой хронологии, не null
- See Also:
ChronoZonedDateTime.from(TemporalAccessor)
zonedDateTime
public ChronoZonedDateTime<JapaneseDate> zonedDateTime(Instant instant,
ZoneId zone) Описание скопировано из интерфейса: Chronology
Получает ChronoZonedDateTime в этой хронологии из Instant.
Это получает зонированное время с тем же моментом, что и указанный.
- Specified by:
-
zonedDateTimeв интерфейсеChronology - Parameters:
-
instant- момент для создания времени, не null -
zone- часовой пояс, не null - Returns:
- зонированное время, не null
isLeapYear
public boolean isLeapYear(long prolepticYear)
Проверяет, является ли указанный год високосным.
Високосные годы японского календаря происходят точно в соответствии с високосными годами ISO. Этот метод не проверяет переданный год и имеет хорошо определенный результат только для годов в поддерживаемом диапазоне.
- Specified by:
-
isLeapYearв интерфейсеChronology - Parameters:
-
prolepticYear- пролептический год для проверки, диапазон не проверяется - Returns:
- true, если год високосный
prolepticYear
public int prolepticYear(Era era,
int yearOfEra) Описание скопировано из интерфейса: Chronology
Вычисляет пролептический год, заданный эрой и годом эры.
Это объединяет эру и год эры в одно поле пролептического года.
Если хронология активно использует эры, такие как JapaneseChronology, то год эры будет проверен на соответствие эры. Для других хронологий проверка является необязательной.
- Specified by:
-
prolepticYearв интерфейсеChronology - Parameters:
-
era- эра правильного типа для хронологии, не null -
yearOfEra- хронологический год эры - Returns:
- пролептический год
eraOf
public JapaneseEra eraOf(int eraValue)
Возвращает объект эры системы календаря из заданного числового значения. См. описание каждой эры для числовых значений: JapaneseEra.HEISEI, JapaneseEra.SHOWA,JapaneseEra.TAISHO, JapaneseEra.MEIJI), поддерживаются только эры Мэйдзи и более поздние.
- Specified by:
-
eraOfв интерфейсеChronology - Parameters:
-
eraValue- значение эры - Returns:
- японская
Eraдля данного числового значения эры - Throws:
-
DateTimeException- еслиeraValueнедействительна
eras
public List<Era> eras()
Описание скопировано из интерфейса: Chronology
Получает список эр для хронологии.
Большинство систем календарей имеют эру, в пределах которой год имеет смысл. Если система календаря не поддерживает понятие эр, должен возвращаться пустой список.
- Specified by:
-
erasв интерфейсеChronology - Returns:
- список эр для хронологии, может быть неизменяемым, не null
range
public ValueRange range(ChronoField field)
Описание скопировано из интерфейса: Chronology
Получает диапазон допустимых значений для указанного поля.
Все поля могут быть выражены как целое число long. Этот метод возвращает объект, описывающий допустимый диапазон этого значения.
Обратите внимание, что результат описывает только минимальное и максимальное допустимые значения, и не стоит извлекать из них слишком много информации. Например, могут быть значения в диапазоне, которые недопустимы для поля.
Этот метод вернет результат, поддерживает ли хронология это поле или нет.
- Specified by:
-
rangeв интерфейсеChronology - Parameters:
-
field- поле, для которого требуется диапазон, не null - Returns:
- диапазон допустимых значений для поля, не null
resolveDate
public JapaneseDate resolveDate(Map<TemporalField,Long> fieldValues,
ResolverStyle resolverStyle) Описание скопировано из класса: AbstractChronology
Преобразует разобранные ChronoField значения в дату во время разбора.
Большинство 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(). Реализация предполагает семидневную неделю, что первый день месяца имеет значение 1, первый день года имеет значение 1, и что первое число месяца и года всегда существует.
- Определено в:
-
resolveDateв интерфейсеChronology - Переопределяет:
-
resolveDateв классеAbstractChronology - Параметры:
-
fieldValues- карта полей к значениям, которая может быть обновлена, не null -
resolverStyle- требуемый тип разрешения, не null - Возвращает:
- разрешённая дата, null, если недостаточно информации для создания даты
© 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.