Класс 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 |
Получает локальную дату в системе календаря Мингуо из пролептического года, месяца года и дня месяца. |
MinguoDate |
date |
Получает локальную дату в системе календаря Мингуо из эры, года эры, месяца года и дня месяца. |
MinguoDate |
date |
Получает локальную дату в этой хронологии из другого временного объекта. |
MinguoDate |
dateEpochDay |
Получает локальную дату в системе календаря Мингуо из эпохи дня. |
MinguoDate |
dateNow() |
Получает текущую локальную дату в этой хронологии из системных часов в часовом поясе по умолчанию. |
MinguoDate |
dateNow |
Получает текущую локальную дату в этой хронологии из указанных часов. |
MinguoDate |
dateNow |
Получает текущую локальную дату в этой хронологии из системных часов в указанном часовом поясе. |
MinguoDate |
dateYearDay |
Получает локальную дату в системе календаря Мингуо из пролептического года и дня года. |
MinguoDate |
dateYearDay |
Получает локальную дату в системе календаря Мингуо из эры, года эры и дня года. |
MinguoEra |
eraOf |
Создает объект эры хронологии из числового значения. |
List |
eras() |
Получает список эр для хронологии. |
String |
getCalendarType() |
Получает тип календаря базовой системы календаря - 'roc'. |
String |
getId() |
Получает идентификатор хронологии - 'Minguo'. |
boolean |
isIsoBased() |
MinguoChronology - это основанная на ISO хронология, которая поддерживает поля в IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR. |
boolean |
isLeapYear |
Проверяет, является ли указанный год високосным годом. |
ChronoLocalDateTime |
localDateTime |
Получает локальную дату-время в этой хронологии из другого временного объекта. |
int |
prolepticYear |
Вычисляет пролептический год, учитывая эру и год эры. |
ValueRange |
range |
Получает диапазон допустимых значений для указанного поля. |
MinguoDate |
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 MinguoChronology INSTANCE
Подробное описание методов
getId
public String getId()
Идентификатор уникально определяет хронологию. Его можно использовать для поиска хронологии с помощью Chronology.of(String).
- Определено в:
-
getIdв интерфейсеChronology - Возвращает:
- идентификатор хронологии — 'Мингуо'
- См. также:
getCalendarType
public String getCalendarType()
Тип календаря — идентификатор, определённый спецификацией Unicode Locale Data Markup Language (LDML). Его можно использовать для поиска хронологии с помощью Chronology.of(String). Его также можно использовать в качестве части локали, доступной через Locale.getUnicodeLocaleType(String) с ключом 'ca'.
- Определено в:
-
getCalendarTypeв интерфейсеChronology - Возвращает:
- тип системы календаря — 'roc'
- См. также:
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
- См. также:
localDateTime
public ChronoLocalDateTime<MinguoDate> localDateTime(TemporalAccessor temporal)
Chronology Получает дату-время в этой хронологии на основе указанного временного объекта. Объект TemporalAccessor представляет собой произвольный набор информации о дате и времени, который эта фабрика преобразует в экземпляр ChronoLocalDateTime.
Преобразование извлекает и объединяет ChronoLocalDate и LocalTime из временного объекта. Реализации разрешено выполнять оптимизации, такие как доступ к полям, эквивалентным соответствующим объектам. Результат использует эту хронологию.
Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::localDateTime.
- Определено в:
-
localDateTimeв интерфейсеChronology - Параметры:
-
temporal— преобразуемый временной объект, не null - Возвращает:
- локальную дату-время в этой хронологии, не null
- См. также:
zonedDateTime
public ChronoZonedDateTime<MinguoDate> zonedDateTime(TemporalAccessor temporal)
ChronologyChronoZonedDateTime в этой хронологии из другого временного объекта. Это получает зонированную дату и время в этой хронологии на основе указанного временного объекта. TemporalAccessor представляет собой произвольный набор данных о дате и времени, который эта фабрика преобразует в экземпляр ChronoZonedDateTime.
Преобразование сначала получит ZoneId из временного объекта, обратившись к ZoneOffset при необходимости. Затем он попытается получить Instant, обратившись к ChronoLocalDateTime при необходимости. Результатом будет либо комбинация ZoneId или ZoneOffset с Instant или ChronoLocalDateTime. Реализации разрешается выполнять оптимизации, такие как доступ к тем полям, которые эквивалентны соответствующим объектам. Результат использует эту хронологию.
Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, позволяя использовать его в качестве запроса через ссылку на метод, aChronology::zonedDateTime.
- Specified by:
-
zonedDateTimeв интерфейсеChronology - Parameters:
-
temporal- временной объект для преобразования, не null - Returns:
- зонированная дата и время в этой хронологии, не null
- See Also:
zonedDateTime
public ChronoZonedDateTime<MinguoDate> zonedDateTime(Instant instant, ZoneId zone)
ChronologyChronoZonedDateTime в этой хронологии из 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)
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 и что первое число месяца и года всегда существует.
- Specified by:
-
resolveDatein interfaceChronology - Overrides:
-
resolveDatein classAbstractChronology - Parameters:
-
fieldValues- карта полей со значениями, которые могут быть обновлены, не null -
resolverStyle- запрашиваемый тип разрешения, не null - Returns:
- разрешённая дата, null, если недостаточно информации для создания даты
isIsoBased
public boolean isIsoBased()
MinguoChronology представляет собой хронологию на основе ISO, которая поддерживает поля в IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR.
- Specified by:
-
isIsoBasedin interfaceChronology - Returns:
true- Since:
- 19
- See Also:
© 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