public final class MinguoChronology extends Chronology implements Serializable
This chronology defines the rules of the Minguo calendar system.
This calendar system is primarily used in the Republic of China, often known as Taiwan.
Dates are aligned such that 0001-01-01 (Minguo) is 1912-01-01 (ISO).
The fields are defined as follows:
| Modifier and Type | Field and Description |
|---|---|
static Era |
ERA_BEFORE_ROC
The singleton instance for the era BEFORE_ROC.
|
static Era |
ERA_ROC
The singleton instance for the era ROC.
|
static MinguoChronology |
INSTANCE
Singleton instance for the Minguo chronology.
|
| Modifier and Type | Method and Description |
|---|---|
MinguoDate |
date(Era era,
int yearOfEra,
int month,
int dayOfMonth)
Obtains a local date in this chronology from the era, year-of-era,
month-of-year and day-of-month fields.
|
MinguoDate |
date(int prolepticYear,
int month,
int dayOfMonth)
Obtains a local date in this chronology from the proleptic-year,
month-of-year and day-of-month fields.
|
MinguoDate |
date(TemporalAccessor temporal)
Obtains a local date in this chronology from another temporal object.
|
MinguoDate |
dateNow()
Obtains the current local date in this chronology from the system clock in the default time-zone.
|
MinguoDate |
dateNow(Clock clock)
Obtains the current local date in this chronology from the specified clock.
|
MinguoDate |
dateNow(ZoneId zone)
Obtains the current local date in this chronology from the system clock in the specified time-zone.
|
MinguoDate |
dateYearDay(Era era,
int yearOfEra,
int dayOfYear)
Obtains a local date in this chronology from the era, year-of-era and
day-of-year fields.
|
MinguoDate |
dateYearDay(int prolepticYear,
int dayOfYear)
Obtains a local date in this chronology from the proleptic-year and
day-of-year fields.
|
Era |
eraOf(int eraValue)
Creates the chronology era object from the numeric value.
|
List<Era> |
eras()
Gets the list of eras for the chronology.
|
String |
getCalendarType()
Gets the calendar type of the underlying calendar system - 'roc'.
|
String |
getId()
Gets the ID of the chronology - 'Minguo'.
|
boolean |
isLeapYear(long prolepticYear)
Checks if the specified year is a leap year.
|
ChronoLocalDateTime<MinguoDate> |
localDateTime(TemporalAccessor temporal)
Obtains a local date-time in this chronology from another temporal object.
|
int |
prolepticYear(Era era,
int yearOfEra)
Calculates the proleptic-year given the era and year-of-era.
|
ValueRange |
range(ChronoField field)
Gets the range of valid values for the specified field.
|
ChronoZonedDateTime<MinguoDate> |
zonedDateTime(Instant instant,
ZoneId zone)
Obtains a
ChronoZonedDateTime in this chronology from an Instant. |
ChronoZonedDateTime<MinguoDate> |
zonedDateTime(TemporalAccessor temporal)
Obtains a
ChronoZonedDateTime in this chronology from another temporal object. |
compareTo, equals, from, getAvailableChronologies, getDisplayName, hashCode, of, ofLocale, toStringpublic static final MinguoChronology INSTANCE
public static final Era ERA_ROC
public static final Era ERA_BEFORE_ROC
public String getId()
The ID uniquely identifies the Chronology.
It can be used to lookup the Chronology using Chronology.of(String).
getId in class ChronologygetCalendarType()public String getCalendarType()
The calendar type is an identifier defined by the
Unicode Locale Data Markup Language (LDML) specification.
It can be used to lookup the Chronology using Chronology.of(String).
It can also be used as part of a locale, accessible via
Locale.getUnicodeLocaleType(String) with the key 'ca'.
getCalendarType in class ChronologygetId()public MinguoDate date(int prolepticYear, int month, int dayOfMonth)
Chronologydate in class ChronologyprolepticYear - the chronology proleptic-yearmonth - the chronology month-of-yeardayOfMonth - the chronology day-of-monthpublic MinguoDate dateYearDay(int prolepticYear, int dayOfYear)
ChronologydateYearDay in class ChronologyprolepticYear - the chronology proleptic-yeardayOfYear - the chronology day-of-yearpublic MinguoDate date(TemporalAccessor temporal)
Chronology
This creates a date in this chronology based on the specified temporal.
A TemporalAccessor represents an arbitrary set of date and time information,
which this factory converts to an instance of ChronoLocalDate.
The conversion typically uses the EPOCH_DAY
field, which is standardized across calendar systems.
This method matches the signature of the functional interface TemporalQuery
allowing it to be used as a query via method reference, aChronology::date.
date in class Chronologytemporal - the temporal object to convert, not nullpublic MinguoDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Chronologydate in class Chronologyera - the era of the correct type for the chronology, not nullyearOfEra - the chronology year-of-eramonth - the chronology month-of-yeardayOfMonth - the chronology day-of-monthpublic MinguoDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
ChronologydateYearDay in class Chronologyera - the era of the correct type for the chronology, not nullyearOfEra - the chronology year-of-eradayOfYear - the chronology day-of-yearpublic MinguoDate dateNow()
Chronology
This will query the system clock in the default
time-zone to obtain the current date.
Using this method will prevent the ability to use an alternate clock for testing because the clock is hard-coded.
This implementation uses Chronology.dateNow(Clock).
dateNow in class Chronologypublic MinguoDate dateNow(ZoneId zone)
Chronology
This will query the system clock to obtain the current date.
Specifying the time-zone avoids dependence on the default time-zone.
Using this method will prevent the ability to use an alternate clock for testing because the clock is hard-coded.
dateNow in class Chronologyzone - the zone ID to use, not nullpublic MinguoDate dateNow(Clock clock)
Chronology
This will query the specified clock to obtain the current date - today.
Using this method allows the use of an alternate clock for testing.
The alternate clock may be introduced using dependency injection.
dateNow in class Chronologyclock - the clock to use, not nullpublic ChronoLocalDateTime<MinguoDate> localDateTime(TemporalAccessor temporal)
Chronology
This creates a date-time in this chronology based on the specified temporal.
A TemporalAccessor represents an arbitrary set of date and time information,
which this factory converts to an instance of ChronoLocalDateTime.
The conversion extracts and combines the ChronoLocalDate and the
LocalTime from the temporal object.
Implementations are permitted to perform optimizations such as accessing
those fields that are equivalent to the relevant objects.
The result uses this chronology.
This method matches the signature of the functional interface TemporalQuery
allowing it to be used as a query via method reference, aChronology::localDateTime.
localDateTime in class Chronologytemporal - the temporal object to convert, not nullpublic ChronoZonedDateTime<MinguoDate> zonedDateTime(TemporalAccessor temporal)
ChronologyChronoZonedDateTime in this chronology from another temporal object.
This creates a zoned date-time in this chronology based on the specified temporal.
A TemporalAccessor represents an arbitrary set of date and time information,
which this factory converts to an instance of ChronoZonedDateTime.
The conversion will first obtain a ZoneId from the temporal object,
falling back to a ZoneOffset if necessary. It will then try to obtain
an Instant, falling back to a ChronoLocalDateTime if necessary.
The result will be either the combination of ZoneId or ZoneOffset
with Instant or ChronoLocalDateTime.
Implementations are permitted to perform optimizations such as accessing
those fields that are equivalent to the relevant objects.
The result uses this chronology.
This method matches the signature of the functional interface TemporalQuery
allowing it to be used as a query via method reference, aChronology::zonedDateTime.
zonedDateTime in class Chronologytemporal - the temporal object to convert, not nullpublic ChronoZonedDateTime<MinguoDate> zonedDateTime(Instant instant, ZoneId zone)
ChronologyChronoZonedDateTime in this chronology from an Instant.
This creates a zoned date-time with the same instant as that specified.
zonedDateTime in class Chronologyinstant - the instant to create the date-time from, not nullzone - the time-zone, not nullpublic boolean isLeapYear(long prolepticYear)
Minguo leap years occur exactly in line with ISO leap years. This method does not validate the year passed in, and only has a well-defined result for years in the supported range.
isLeapYear in class ChronologyprolepticYear - the proleptic-year to check, not validated for rangepublic int prolepticYear(Era era, int yearOfEra)
ChronologyThis combines the era and year-of-era into the single proleptic-year field.
prolepticYear in class Chronologyera - the era of the correct type for the chronology, not nullyearOfEra - the chronology year-of-erapublic Era eraOf(int eraValue)
ChronologyThe era is, conceptually, the largest division of the time-line. Most calendar systems have a single epoch dividing the time-line into two eras. However, some have multiple eras, such as one for the reign of each leader. The exact meaning is determined by the chronology according to the following constraints.
The era in use at 1970-01-01 must have the value 1. Later eras must have sequentially higher values. Earlier eras must have sequentially lower values. Each chronology must refer to an enum or similar singleton to provide the era values.
This method returns the singleton era of the correct type for the specified era value.
eraOf in class ChronologyeraValue - the era valuepublic List<Era> eras()
ChronologyMost calendar systems have an era, within which the year has meaning. If the calendar system does not support the concept of eras, an empty list must be returned.
eras in class Chronologypublic ValueRange range(ChronoField field)
Chronology
All fields can be expressed as a long integer.
This method returns an object that describes the valid range for that value.
Note that the result only describes the minimum and maximum valid values and it is important not to read too much into them. For example, there could be values within the range that are invalid for the field.
This method will return a result whether or not the chronology supports the field.
range in class Chronologyfield - the field to get the range for, not null Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.
DRAFT internal-0