Spec-Zone.ru › OpenJDK 21

Класс MinguoChronology

java.lang.Object
java.time.chrono.AbstractChronology
java.time.chrono.MinguoChronology
Все реализованные интерфейсы:
Serializable, Comparable<Chronology>, Chronology
public final class MinguoChronology extends AbstractChronology implements Serializable
Система календаря Мингуо.

Эта хронология определяет правила системы календаря Мингуо. Эта система календаря используется в основном в Китайской Республике, часто известной как Тайвань. Даты согласованы таким образом, что 0001-01-01 (Minguo) является 1912-01-01 (ISO).

Поля определены следующим образом:

  • эра - Существует две эры: текущая «Республика» (ERA_ROC) и предыдущая эра (ERA_BEFORE_ROC).
  • год эры - Год эры для текущей эры равномерно увеличивается с эпохи в году один. Для предыдущей эры год увеличивается от одного по мере продвижения назад во времени. Значение для текущей эры равно пролептическому году ISO минус 1911.
  • пролептический год - Пролептический год такой же, как год эры для текущей эры. Для предыдущей эры года имеют нулевые, а затем отрицательные значения. Значение равно пролептическому году ISO минус 1911.
  • месяц года - Месяц года Мингуо точно соответствует ISO.
  • день месяца - День месяца Мингуо точно соответствует ISO.
  • день года - День года Мингуо точно соответствует ISO.
  • високосный год - Шаблон високосного года Мингуо точно соответствует ISO, так что два календаря никогда не расходятся.
Требования к реализации:
Этот класс неизменяемый и потокобезопасный.
С:
1.8
См. также:
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final MinguoChronology INSTANCE
Единственный экземпляр хронологии Мингуо.

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

Модификатор и тип Метод Описание
MinguoDate date(int prolepticYear, int month, int dayOfMonth)
Получает локальную дату в системе календаря Мингуо из пролептического года, месяца года и дня месяца.
MinguoDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Получает локальную дату в системе календаря Мингуо из эры, года эры, месяца года и дня месяца.
MinguoDate date(TemporalAccessor temporal)
Получает локальную дату в этой хронологии из другого временного объекта.
MinguoDate dateEpochDay(long epochDay)
Получает локальную дату в системе календаря Мингуо из эпохи дня.
MinguoDate dateNow()
Получает текущую локальную дату в этой хронологии из системных часов в часовом поясе по умолчанию.
MinguoDate dateNow(Clock clock)
Получает текущую локальную дату в этой хронологии из указанных часов.
MinguoDate dateNow(ZoneId zone)
Получает текущую локальную дату в этой хронологии из системных часов в указанном часовом поясе.
MinguoDate dateYearDay(int prolepticYear, int dayOfYear)
Получает локальную дату в системе календаря Мингуо из пролептического года и дня года.
MinguoDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
Получает локальную дату в системе календаря Мингуо из эры, года эры и дня года.
MinguoEra eraOf(int eraValue)
Создает объект эры хронологии из числового значения.
List<Era> eras()
Получает список эр для хронологии.
String getCalendarType()
Получает тип календаря базовой системы календаря - 'roc'.
String getId()
Получает идентификатор хронологии - 'Minguo'.
boolean isIsoBased()
MinguoChronology - это основанная на ISO хронология, которая поддерживает поля в IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR.
boolean isLeapYear(long prolepticYear)
Проверяет, является ли указанный год високосным годом.
ChronoLocalDateTime<MinguoDate> localDateTime(TemporalAccessor temporal)
Получает локальную дату-время в этой хронологии из другого временного объекта.
int prolepticYear(Era era, int yearOfEra)
Вычисляет пролептический год, учитывая эру и год эры.
ValueRange range(ChronoField field)
Получает диапазон допустимых значений для указанного поля.
MinguoDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
Решает значения ChronoField парсинга в дату во время парсинга.
ChronoZonedDateTime<MinguoDate> zonedDateTime(Instant instant, ZoneId zone)
Получает ChronoZonedDateTime в этой хронологии из Instant.
ChronoZonedDateTime<MinguoDate> 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 MinguoChronology INSTANCE
Единственный экземпляр для хронологии Мингуо.

Подробное описание методов

getId

public String getId()
Возвращает идентификатор хронологии — 'Мингуо'.

Идентификатор уникально определяет хронологию. Его можно использовать для поиска хронологии с помощью Chronology.of(String).

Определено в:
getId в интерфейсе Chronology
Возвращает:
идентификатор хронологии — 'Мингуо'
См. также:
  • getCalendarType()

getCalendarType

public String getCalendarType()
Возвращает тип календаря базовой системы календаря — 'roc'.

Тип календаря — идентификатор, определённый спецификацией Unicode Locale Data Markup Language (LDML). Его можно использовать для поиска хронологии с помощью Chronology.of(String). Его также можно использовать в качестве части локали, доступной через Locale.getUnicodeLocaleType(String) с ключом 'ca'.

Определено в:
getCalendarType в интерфейсе Chronology
Возвращает:
тип системы календаря — 'roc'
См. также:
  • getId()

date

public MinguoDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Получает локальную дату в системе календаря Мингуо из эпохи, года эпохи, месяца года и дня месяца.
Определено в:
date в интерфейсе Chronology
Параметры:
era — эпоха Мингуо, не null
yearOfEra — год эпохи
month — месяц года
dayOfMonth — день месяца
Возвращает:
локальную дату Мингуо, не null
Исключения:
DateTimeException — если дату создать невозможно
ClassCastException — если era не является MinguoEra

date

public MinguoDate date(int prolepticYear, int month, int dayOfMonth)
Получает локальную дату в системе календаря Мингуо из пролептического года, месяца года и дня месяца.
Определено в:
date в интерфейсе Chronology
Параметры:
prolepticYear — пролептический год
month — месяц года
dayOfMonth — день месяца
Возвращает:
локальную дату Мингуо, не null
Исключения:
DateTimeException — если дату создать невозможно

dateYearDay

public MinguoDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
Получает локальную дату в системе календаря Мингуо из эпохи, года эпохи и дня года.
Определено в:
dateYearDay в интерфейсе Chronology
Параметры:
era — эпоха Мингуо, не null
yearOfEra — год эпохи
dayOfYear — день года
Возвращает:
локальную дату Мингуо, не null
Исключения:
DateTimeException — если дату создать невозможно
ClassCastException — если era не является MinguoEra

dateYearDay

public MinguoDate dateYearDay(int prolepticYear, int dayOfYear)
Получает локальную дату в системе календаря Мингуо из пролептического года и дня года.
Определено в:
dateYearDay в интерфейсе Chronology
Параметры:
prolepticYear — пролептический год
dayOfYear — день года
Возвращает:
локальную дату Мингуо, не null
Исключения:
DateTimeException — если дату создать невозможно

dateEpochDay

public MinguoDate dateEpochDay(long epochDay)
Получает локальную дату в системе календаря Мингуо из эпохи дня.
Определено в:
dateEpochDay в интерфейсе Chronology
Параметры:
epochDay — день эпохи
Возвращает:
локальную дату Мингуо, не null
Исключения:
DateTimeException — если дату создать невозможно

dateNow

public MinguoDate dateNow()
Описание скопировано из интерфейса: Chronology
Получает текущую локальную дату в этой хронологии из системных часов в часовом поясе по умолчанию.

Для получения текущей даты будет запрошен system clock в часовом поясе по умолчанию.

Использование этого метода предотвратит возможность использования альтернативных часов для тестирования, потому что часы жестко закодированы.

Определено в:
dateNow в интерфейсе Chronology
Возвращает:
текущую локальную дату с использованием системных часов и часового пояса по умолчанию, не null

dateNow

public MinguoDate dateNow(ZoneId zone)
Описание скопировано из интерфейса: Chronology
Получает текущую локальную дату в этой хронологии из системных часов в указанном часовом поясе.

Для получения текущей даты будет запрошен system clock. Указание часового пояса предотвращает зависимость от часового пояса по умолчанию.

Использование этого метода предотвратит возможность использования альтернативных часов для тестирования, потому что часы жестко закодированы.

Определено в:
dateNow в интерфейсе Chronology
Параметры:
zone — используемый часовой пояс, не null
Возвращает:
текущую локальную дату с использованием системных часов, не null

dateNow

public MinguoDate dateNow(Clock clock)
Описание скопировано из интерфейса: Chronology
Получает текущую локальную дату в этой хронологии из указанных часов.

Для получения текущей даты — сегодня — будет запрошены указанные часы. Использование этого метода позволяет использовать альтернативные часы для тестирования. Введение альтернативных часов возможно с помощью dependency injection.

Определено в:
dateNow в интерфейсе Chronology
Параметры:
clock — используемые часы, не null
Возвращает:
текущую локальную дату, не null

date

public MinguoDate date(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает локальную дату в этой хронологии из другого объекта временной метки.

Получает дату в этой хронологии на основе указанного временного объекта. Объект TemporalAccessor представляет собой произвольный набор информации о дате и времени, который эта фабрика преобразует в экземпляр ChronoLocalDate.

Преобразование обычно использует поле EPOCH_DAY, которое стандартизировано для всех систем календарей.

Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::date.

Определено в:
date в интерфейсе Chronology
Параметры:
temporal — преобразуемый временной объект, не null
Возвращает:
локальную дату в этой хронологии, не null
См. также:
  • ChronoLocalDate.from(TemporalAccessor)

localDateTime

public ChronoLocalDateTime<MinguoDate> localDateTime(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает локальную дату-время в этой хронологии из другого объекта временной метки.

Получает дату-время в этой хронологии на основе указанного временного объекта. Объект TemporalAccessor представляет собой произвольный набор информации о дате и времени, который эта фабрика преобразует в экземпляр ChronoLocalDateTime.

Преобразование извлекает и объединяет ChronoLocalDate и LocalTime из временного объекта. Реализации разрешено выполнять оптимизации, такие как доступ к полям, эквивалентным соответствующим объектам. Результат использует эту хронологию.

Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::localDateTime.

Определено в:
localDateTime в интерфейсе Chronology
Параметры:
temporal — преобразуемый временной объект, не null
Возвращает:
локальную дату-время в этой хронологии, не null
См. также:
  • ChronoLocalDateTime.from(TemporalAccessor)

zonedDateTime

public ChronoZonedDateTime<MinguoDate> 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<MinguoDate> 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)
Проверяет, является ли указанный год високосным.

Високосные годы Minguo соответствуют точно високосным годам 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 MinguoEra eraOf(int eraValue)
Описание, скопированное из интерфейса: Chronology
Создает объект эры хронологии из числового значения.

Эра, по сути, является самой большой единицей временной шкалы. Большинство календарных систем имеют одну эпоху, разделяющую временную шкалу на две эры. Однако некоторые имеют несколько эр, например, по одной за правление каждого лидера. Точное значение определяется хронологией в соответствии со следующими ограничениями.

Эра, используемая в 1970-01-01, должна иметь значение 1. Поздние эры должны иметь последовательно большие значения. Ранние эры должны иметь последовательно меньшие значения. Каждая хронология должна ссылаться на перечисление или подобный синглтон для предоставления значений эры.

Этот метод возвращает синглтон эры правильного типа для указанного значения эры.

Specified by:
eraOf в интерфейсе Chronology
Parameters:
eraValue - значение эры
Returns:
эра календарной системы, не null

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 MinguoDate 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(). Реализация предполагает 7-дневную неделю, что первое число месяца имеет значение 1, что первое число года имеет значение 1 и что первое число месяца и года всегда существует.

Specified by:
resolveDate in interface Chronology
Overrides:
resolveDate in class AbstractChronology
Parameters:
fieldValues - карта полей со значениями, которые могут быть обновлены, не null
resolverStyle - запрашиваемый тип разрешения, не null
Returns:
разрешённая дата, null, если недостаточно информации для создания даты

isIsoBased

public boolean isIsoBased()
MinguoChronology представляет собой хронологию на основе ISO, которая поддерживает поля в IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR.
Specified by:
isIsoBased in interface Chronology
Returns:
true
Since:
19
See Also:
  • IsoFields

© 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/MinguoChronology.html

Spec-Zone.ru

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