Класс MinguoDate
- Все реализованные интерфейсы:
-
Serializable,Comparable<ChronoLocalDate>,ChronoLocalDate,Temporal,TemporalAccessor,TemporalAdjuster
public final class MinguoDate extends Object implements ChronoLocalDate, Serializable
Эта дата работает с календарём Мингуо. Эта система календаря в основном используется в Китайской Республике, часто называемой Тайване. Даты согласованы таким образом, что 0001-01-01 (Minguo) это 1912-01-01 (ISO).
Это значимая по значению класс; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать экземпляры для синхронизации, в противном случае могут возникнуть непредсказуемые проблемы. Например, в будущей версии синхронизация может завершиться неудачно. Для сравнения следует использовать метод equals.
- Требования к реализации:
- Этот класс неизменяемый и потокобезопасный.
- С:
- 1.8
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ChronoLocalDateTime<MinguoDate> |
atTime |
Комбинирует эту дату с временем, чтобы создать ChronoLocalDateTime. |
boolean |
equals |
Сравнивает эту дату с другой датой, включая хронологию. |
static MinguoDate |
from |
Получает MinguoDate из временного объекта. |
MinguoChronology |
getChronology() |
Получает хронологию этой даты, которая представляет систему календаря Мингуо. |
MinguoEra |
getEra() |
Получает эру, применимую в эту дату. |
long |
getLong |
Получает значение указанного поля в виде long. |
int |
hashCode() |
Хеш-код для этой даты. |
int |
lengthOfMonth() |
Возвращает длительность месяца, представленного этой датой. |
MinguoDate |
minus |
Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом. |
MinguoDate |
minus |
Возвращает объект того же типа, что и этот объект, с вычтенным значением. |
static MinguoDate |
now() |
Получает текущую MinguoDate из системных часов в часовом поясе по умолчанию. |
static MinguoDate |
now |
Получает текущую MinguoDate из указанных часов. |
static MinguoDate |
now |
Получает текущую MinguoDate из системных часов в указанном часовом поясе. |
static MinguoDate |
of |
Получает MinguoDate, представляющую дату в системе календаря Мингуо по годам, месяцам и дням. |
MinguoDate |
plus |
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом. |
MinguoDate |
plus |
Возвращает объект того же типа, что и этот объект, с добавленным значением. |
String |
toString() |
Возвращает строковое представление объекта. |
ChronoPeriod |
until |
Вычисляет период между этой датой и другой датой как ChronoPeriod. |
long |
until |
Вычисляет количество времени до другой даты в терминах указанной единицы измерения. |
MinguoDate |
with |
Возвращает скорректированный объект того же типа, что и этот объект, с внесённой корректировкой. |
MinguoDate |
with |
Возвращает объект того же типа, что и этот объект, с изменённым указанным полем. |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе java.time.chrono.ChronoLocalDate
adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, isSupported, lengthOfYear, query, toEpochDay, toString, until
Методы, объявленные в интерфейсе java.time.temporal.TemporalAccessor
get, range
Подробное описание методов
now
public static MinguoDate now()
MinguoDate из системных часов в часовом поясе по умолчанию. Эта операция обращается к system clock в часовом поясе по умолчанию для получения текущей даты.
Использование этого метода запрещает возможность использования альтернативных часов для тестирования, так как часы жестко запрограммированы.
- Возвращает:
- текущую дату, используя системные часы и часовой пояс по умолчанию, не null
now
public static MinguoDate now(ZoneId zone)
MinguoDate из системных часов в указанном часовом поясе. Эта операция обращается к system clock для получения текущей даты. Указание часового пояса исключает зависимость от часового пояса по умолчанию.
Использование этого метода запрещает возможность использования альтернативных часов для тестирования, так как часы жестко запрограммированы.
- Параметры:
-
zone- идентификатор часового пояса для использования, не null - Возвращает:
- текущую дату, используя системные часы, не null
now
public static MinguoDate now(Clock clock)
MinguoDate из указанных часов. Эта операция обращается к указанным часам для получения текущей даты — сегодня. Использование этого метода позволяет использовать альтернативные часы для тестирования. Альтернативные часы могут быть введены с помощью инъекции зависимостей.
- Параметры:
-
clock- часы для использования, не null - Возвращает:
- текущую дату, не null
- Исключения:
-
DateTimeException- если текущая дата не может быть получена
of
public static MinguoDate of(int prolepticYear, int month, int dayOfMonth)
MinguoDate , представляющую дату в системе календаря Мингуо, по данным пролептического года, месяца и дня. Возвращает MinguoDate с указанными полями. День должен быть действительным для года и месяца, в противном случае будет выброшено исключение.
- Параметры:
-
prolepticYear- пролептический год Мингуо -
month- месяц Мингуо, от 1 до 12 -
dayOfMonth- день Мингуо, от 1 до 31 - Возвращает:
- дату в системе календаря Мингуо, не null
- Исключения:
-
DateTimeException- если значение любого поля выходит за пределы допустимого диапазона или если день недействителен для месяца и года
from
public static MinguoDate from(TemporalAccessor temporal)
MinguoDate из временного объекта. Получает дату в системе календаря Мингуо на основе указанного временного объекта. TemporalAccessor представляет собой произвольный набор информации о дате и времени, который этот фабричный метод преобразует в экземпляр MinguoDate.
Преобразование обычно использует поле EPOCH_DAY, которое стандартизировано для всех систем календаря.
Этот метод соответствует подписи функционального интерфейса TemporalQuery, что позволяет использовать его как запрос с помощью ссылки на метод, MinguoDate::from.
- Параметры:
-
temporal- временной объект для преобразования, не null - Возвращает:
- дату в системе календаря Мингуо, не null
- Исключения:
-
DateTimeException- если не удается преобразовать вMinguoDate - См. также:
getChronology
public MinguoChronology getChronology()
Chronology представляет используемую систему календаря. Эра и другие поля в ChronoField определяются хронологией.
- Определяется:
-
getChronologyв интерфейсеChronoLocalDate - Возвращает:
- хронологию Мингуо, не null
getEra
public MinguoEra getEra()
Система календаря Мингуо имеет две эры, 'ROC' и 'BEFORE_ROC', определенные в MinguoEra.
- Определяется:
-
getEraв интерфейсеChronoLocalDate - Возвращает:
- эру, применимую для этой даты, не null
lengthOfMonth
public int lengthOfMonth()
Возвращает длительность месяца в днях. Длительности месяцев соответствуют длительностям месяцев в системе календаря ISO.
- Определяется:
-
lengthOfMonthв интерфейсеChronoLocalDate - Возвращает:
- длительность месяца в днях
getLong
public long getLong(TemporalField field)
TemporalAccessorlong. Запрашивает значение указанного поля у объекта даты и времени. Возвращаемое значение может выходить за пределы допустимого диапазона значений для поля. Если объект даты и времени не может вернуть значение, поскольку поле не поддерживается или по какой-либо другой причине, будет выброшено исключение.
- Определяется:
-
getLongв интерфейсеTemporalAccessor - Параметры:
-
field- запрашиваемое поле, не null - Возвращает:
- значение поля
with
public MinguoDate with(TemporalField field, long newValue)
ChronoLocalDate Возвращает новый объект на основе этого объекта со значениями указанного поля, измененными. Например, для LocalDate, это можно использовать для установки года, месяца или дня месяца. Возвращаемый объект будет иметь тот же наблюдаемый тип, что и этот объект.
В некоторых случаях изменение поля не полностью определено. Например, если целевой объект представляет собой дату 31 января, а затем месяц меняется на февраль, это неясно. В таких случаях поле отвечает за разрешение результата. Обычно оно выбирает предыдущую допустимую дату, которая в этом примере будет последним допустимым днем февраля.
- Определяется:
-
withв интерфейсеChronoLocalDate - Определяется:
-
withв интерфейсеTemporal - Параметры:
-
field- поле для установки в результате, не null -
newValue- новое значение поля в результате - Возвращает:
- объект того же типа с указанным полем, установленным, не null
with
public MinguoDate with(TemporalAdjuster adjuster)
Изменяет эту дату в соответствии с правилами указанного корректирующего элемента. Простой корректирующий элемент может просто установить одно из полей, например, поле года. Более сложный корректирующий элемент может установить дату на последнее число месяца. Выбор общих корректировок представлен в TemporalAdjusters. Они включают нахождение "последнего дня месяца" и "следующей среды". Корректирующий элемент отвечает за обработку особых случаев, таких как переменная длительность месяцев и високосные годы.
Пример кода, демонстрирующий, как и почему используется этот метод:
date = date.with(Month.JULY); // most key classes implement TemporalAdjuster date = date.with(lastDayOfMonth()); // static import from Adjusters date = date.with(next(WEDNESDAY)); // static import from Adjusters and DayOfWeek
- Определяется:
-
withв интерфейсеChronoLocalDate - Определяется:
-
withв интерфейсеTemporal - Параметры:
-
adjuster- корректирующий элемент для использования, не null - Возвращает:
- объект того же типа с произведённой корректировкой, не null
- Исключения:
-
DateTimeException- если корректировку произвести невозможно -
ArithmeticException- если произошел переполнение числовых значений
plus
public MinguoDate plus(TemporalAmount amount)
Изменяет этот временной объект, добавляя в соответствии с правилами указанного значения. Значение обычно является Period, но может быть любым другим типом, реализующим интерфейс TemporalAmount, например, Duration.
Пример кода, демонстрирующий, как и почему используется этот метод:
date = date.plus(period); // add a Period instance date = date.plus(duration); // add a Duration instance date = date.plus(workingDays(6)); // example user-written workingDays method
Обратите внимание, что вызов plus за которым следует minus не гарантирует возвращение той же даты и времени.
- Определяется:
-
plusв интерфейсеChronoLocalDate - Определяется:
-
plusв интерфейсеTemporal - Параметры:
-
amount- значение для добавления, не null - Возвращает:
- объект того же типа с произведённой корректировкой, не null
- Исключения:
-
DateTimeException- если добавление невозможно -
ArithmeticException- если произошел переполнение числовых значений
minus
public MinguoDate minus(TemporalAmount amount)
Это корректирует этот временной интервал, вычитая в соответствии с правилами указанного количества. Величина обычно представляет собой Period, но может быть и любого другого типа, реализующего интерфейс TemporalAmount, например Duration.
Некоторые примеры кода, показывающие, как и почему используется этот метод:
date = date.minus(period); // subtract a Period instance date = date.minus(duration); // subtract a Duration instance date = date.minus(workingDays(6)); // example user-written workingDays method
Обратите внимание, что вызов plus в сочетании с minus не гарантирует возврат той же даты и времени.
- Specified by:
-
minusв интерфейсеChronoLocalDate - Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amount- величина для вычитания, не null - Returns:
- объект того же типа с произведенной корректировкой, не null
- Throws:
-
DateTimeException- если вычитание невозможно -
ArithmeticException- если происходит переполнение чисел
plus
public MinguoDate plus(long amountToAdd, TemporalUnit unit)
ChronoLocalDate Этот метод возвращает новый объект, основанный на этом объекте, с добавленным указанным периодом. Например, для LocalDate, это можно использовать для добавления количества лет, месяцев или дней. Возвращаемый объект будет иметь тот же наблюдаемый тип, что и этот объект.
В некоторых случаях изменение поля не определено полностью. Например, если целевой объект представляет дату 31 января, то добавление одного месяца будет неопределенным. В таких случаях поле отвечает за разрешение результата. Обычно оно выбирает предыдущую допустимую дату, которая в этом примере будет последним допустимым днем февраля.
- Specified by:
-
plusв интерфейсеChronoLocalDate - Specified by:
-
plusв интерфейсеTemporal - Parameters:
-
amountToAdd- количество указанного периода для добавления, может быть отрицательным -
unit- единица измерения количества для добавления, не null - Returns:
- объект того же типа с добавленным указанным периодом, не null
minus
public MinguoDate minus(long amountToAdd, TemporalUnit unit)
ChronoLocalDate Этот метод возвращает новый объект, основанный на этом объекте, с вычтенным указанным периодом. Например, для LocalDate, это можно использовать для вычитания количества лет, месяцев или дней. Возвращаемый объект будет иметь тот же наблюдаемый тип, что и этот объект.
В некоторых случаях изменение поля не определено полностью. Например, если целевой объект представляет дату 31 марта, то вычитание одного месяца будет неопределенным. В таких случаях поле отвечает за разрешение результата. Обычно оно выбирает предыдущую допустимую дату, которая в этом примере будет последним допустимым днем февраля.
- Specified by:
-
minusв интерфейсеChronoLocalDate - Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amountToAdd- количество указанного периода для вычитания, может быть отрицательным -
unit- единица измерения количества для вычитания, не null - Returns:
- объект того же типа с вычтенным указанным периодом, не null
atTime
public final ChronoLocalDateTime<MinguoDate> atTime(LocalTime localTime)
ChronoLocalDateChronoLocalDateTime. Это возвращает ChronoLocalDateTime, сформированную из этой даты в указанное время. Все возможные комбинации даты и времени допустимы.
- Specified by:
-
atTimeв интерфейсеChronoLocalDate - Parameters:
-
localTime- локальное время для использования, не null - Returns:
- локальная дата и время, сформированная из этой даты и указанного времени, не null
until
public ChronoPeriod until(ChronoLocalDate endDate)
ChronoLocalDateChronoPeriod. Это вычисляет период между двумя датами. Все используемые хронологии вычисляют период с использованием лет, месяцев и дней, однако API ChronoPeriod позволяет представлять период с использованием других единиц.
Начальная и конечная точки — this и указанная дата. Результат будет отрицательным, если конец находится до начала. Отрицательный знак будет одинаковым для года, месяца и дня.
Вычисление выполняется с использованием хронологии этой даты. При необходимости дата входных данных будет преобразована для соответствия.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Specified by:
-
untilв интерфейсеChronoLocalDate - Parameters:
-
endDate- конечная дата, исключая ее, которая может быть в любой хронологии, не null - Returns:
- период между этой датой и конечной датой, не null
equals
public boolean equals(Object obj)
Сравнивает эту MinguoDate с другой, гарантируя, что дата совпадает.
Сравниваются только объекты типа MinguoDate, другие типы возвращают false. Для сравнения дат двух экземпляров TemporalAccessor , включая даты в двух разных хронологиях, используйте ChronoField.EPOCH_DAY в качестве компаратора.
- Specified by:
-
equalsв интерфейсеChronoLocalDate - Parameters:
-
obj- объект для проверки, null возвращает false - Returns:
- true, если это равно другой дате
- See Also:
hashCode
public int hashCode()
- Specified by:
-
hashCodeв интерфейсеChronoLocalDate - Returns:
- подходящий хеш-код, основанный только на хронологии и дате
- See Also:
until
public long until(Temporal endExclusive, TemporalUnit unit)
ChronoLocalDate Это вычисляет количество времени между двумя объектами ChronoLocalDate в терминах одной TemporalUnit. Начальная и конечная точки — this и указанная дата. Результат будет отрицательным, если конец находится до начала. Temporal , переданный этому методу, преобразуется в ChronoLocalDate с использованием Chronology.date(TemporalAccessor). Вычисление возвращает целое число, представляющее количество полных единиц между двумя датами. Например, количество дней между двумя датами можно вычислить с использованием startDate.until(endDate, DAYS).
Существует два эквивалентных способа использования этого метода. Первый — вызвать этот метод. Второй — использовать TemporalUnit.between(Temporal, Temporal):
// these two lines are equivalent amount = start.until(end, MONTHS); amount = MONTHS.between(start, end);Выбор должен быть сделан на основе того, что делает код более читаемым.
Вычисление реализовано в этом методе для ChronoUnit. Единицы DAYS, WEEKS, MONTHS, YEARS, DECADES, CENTURIES, MILLENNIA и ERAS должны поддерживаться всеми реализациями. Другие значения ChronoUnit будут вызывать исключение.
Если единица не является ChronoUnit, то результат этого метода получается путем вызова TemporalUnit.between(Temporal, Temporal) , передавая this в качестве первого аргумента и преобразованный входной временной интервал как второй аргумент.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Specified by:
-
untilв интерфейсеChronoLocalDate - Specified by:
-
untilв интерфейсеTemporal - Parameters:
-
endExclusive- конечная дата, исключая ее, которая преобразуется вChronoLocalDateв той же хронологии, не null -
unit- единица измерения количества, не null - Returns:
- количество времени между этой датой и конечной датой
toString
public String toString()
Object- Specified by:
-
toStringв интерфейсеChronoLocalDate - Overrides:
-
toStringв классеObject - Returns:
- строковое представление объекта.
© 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/MinguoDate.html