Spec-Zone.ru › OpenJDK 17

Класс 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 final JapaneseChronology INSTANCE
Экземпляр-синглтон для японской хронологии.

Краткое описание методов

Модификатор и тип Метод Описание
JapaneseDate date(int prolepticYear, int month, int dayOfMonth)
Получает локальную дату в японской системе календаря по полям пролептического года, месяца и дня.
JapaneseDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Получает локальную дату в японской системе календаря по полям эры, года эры, месяца и дня.
JapaneseDate date(TemporalAccessor temporal)
Получает локальную дату в этой хронологии из другого временного объекта.
JapaneseDate dateEpochDay(long epochDay)
Получает локальную дату в японской системе календаря из эпохи.
JapaneseDate dateNow()
Получает текущую локальную дату в этой хронологии из системных часов в часовом поясе по умолчанию.
JapaneseDate dateNow(Clock clock)
Получает текущую локальную дату в этой хронологии из указанных часов.
JapaneseDate dateNow(ZoneId zone)
Получает текущую локальную дату в этой хронологии из системных часов в указанном часовом поясе.
JapaneseDate dateYearDay(int prolepticYear, int dayOfYear)
Получает локальную дату в японской системе календаря по полям пролептического года и дня года.
JapaneseDate dateYearDay(Era era, int yearOfEra, 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)
Разрешает значения ChronoField во время разбора.
ChronoZonedDateTime<JapaneseDate> zonedDateTime(Instant instant, ZoneId zone)
Получает ChronoZonedDateTime в этой хронологии из Instant.
ChronoZonedDateTime<JapaneseDate> zonedDateTime(TemporalAccessor temporal)
Получает 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()
Получает идентификатор хронологии — '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
Получает локальную дату в этой хронологии из другого объекта временного представления.

Получает дату в этой хронологии на основе указанного временного представления. Объект временного представления представляет собой произвольную совокупность информации о дате и времени, которую этот фабричный метод преобразует в экземпляр 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.

Указано в:
zonedDateTime в интерфейсе Chronology
Параметры:
temporal - временной объект для преобразования, не null
Возвращает:
часовая зона даты и времени в этой хронологии, не null
См. также:
  • ChronoZonedDateTime.from(TemporalAccessor)

zonedDateTime

public ChronoZonedDateTime<JapaneseDate> zonedDateTime(Instant instant, ZoneId zone)
Описание, скопированное из интерфейса: Chronology
Получает ChronoZonedDateTime в этой хронологии из 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)
Описание, скопированное из класса: 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, 2021, 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/17/docs/api/java.base/java/time/chrono/JapaneseChronology.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API