public final class GregorianChronology extends BasicGJChronology
Although the Gregorian calendar did not exist before 1582 CE, this chronology assumes it did, thus it is proleptic. This implementation also fixes the start of the year at January 1, and defines the year zero.
GregorianChronology is thread-safe and immutable.
JulianChronology,
GJChronology,
Serialized FormAssembledChronology.Fields| Modifier and Type | Field and Description |
|---|---|
private static java.util.concurrent.ConcurrentHashMap<DateTimeZone,GregorianChronology[]> |
cCache
Cache of zone to chronology arrays
|
private static int |
DAYS_0000_TO_1970 |
private static GregorianChronology |
INSTANCE_UTC
Singleton instance of a UTC GregorianChronology
|
private static int |
MAX_YEAR
The highest year that can be fully supported.
|
private static long |
MILLIS_PER_MONTH |
private static long |
MILLIS_PER_YEAR |
private static int |
MIN_YEAR
The lowest year that can be fully supported.
|
private static long |
serialVersionUID
Serialization lock
|
| Modifier | Constructor and Description |
|---|---|
private |
GregorianChronology(Chronology base,
java.lang.Object param,
int minDaysInFirstWeek)
Restricted constructor
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
assemble(AssembledChronology.Fields fields)
Invoked by the constructor and after deserialization to allow subclasses
to define all of its supported fields.
|
(package private) long |
calculateFirstDayOfYearMillis(int year)
Gets the millisecond value of the first day of the year.
|
(package private) long |
getApproxMillisAtEpochDividedByTwo()
Returns a constant representing the approximate number of milliseconds
elapsed from year 0 of this chronology, divided by two.
|
(package private) long |
getAverageMillisPerMonth()
Gets an average value for the milliseconds per month.
|
(package private) long |
getAverageMillisPerYear()
Gets an average value for the milliseconds per year.
|
(package private) long |
getAverageMillisPerYearDividedByTwo()
Gets an average value for the milliseconds per year, divided by two.
|
static GregorianChronology |
getInstance()
Gets an instance of the GregorianChronology in the default time zone.
|
static GregorianChronology |
getInstance(DateTimeZone zone)
Gets an instance of the GregorianChronology in the given time zone.
|
static GregorianChronology |
getInstance(DateTimeZone zone,
int minDaysInFirstWeek)
Gets an instance of the GregorianChronology in the given time zone.
|
static GregorianChronology |
getInstanceUTC()
Gets an instance of the GregorianChronology.
|
(package private) int |
getMaxYear()
Gets the maximum supported year.
|
(package private) int |
getMinYear()
Gets the minimum supported year.
|
(package private) boolean |
isLeapYear(int year)
Is the specified year a leap year?
|
private java.lang.Object |
readResolve()
Serialization singleton
|
Chronology |
withUTC()
Gets the Chronology in the UTC time zone.
|
Chronology |
withZone(DateTimeZone zone)
Gets the Chronology in a specific time zone.
|
getDaysInMonthMax, getDaysInMonthMaxForSet, getDaysInYearMonth, getMonthOfYear, getTotalMillisByYearMonth, getYearDifference, isLeapDay, setYearequals, getDateMidnightMillis, getDateTimeMillis, getDateTimeMillis, getDayOfMonth, getDayOfMonth, getDayOfMonth, getDayOfWeek, getDayOfYear, getDayOfYear, getDaysInMonthMax, getDaysInMonthMax, getDaysInYear, getDaysInYearMax, getFirstWeekOfYearMillis, getMaxMonth, getMaxMonth, getMillisOfDay, getMinimumDaysInFirstWeek, getMonthOfYear, getWeekOfWeekyear, getWeekOfWeekyear, getWeeksInYear, getWeekyear, getYear, getYearMillis, getYearMonthDayMillis, getYearMonthMillis, getZone, hashCode, toStringcenturies, centuryOfEra, clockhourOfDay, clockhourOfHalfday, dayOfMonth, dayOfWeek, dayOfYear, days, era, eras, getBase, getDateTimeMillis, getParam, halfdayOfDay, halfdays, hourOfDay, hourOfHalfday, hours, millis, millisOfDay, millisOfSecond, minuteOfDay, minuteOfHour, minutes, monthOfYear, months, secondOfDay, secondOfMinute, seconds, weekOfWeekyear, weeks, weekyear, weekyearOfCentury, weekyears, year, yearOfCentury, yearOfEra, yearsprivate static final long serialVersionUID
private static final long MILLIS_PER_YEAR
private static final long MILLIS_PER_MONTH
private static final int DAYS_0000_TO_1970
private static final int MIN_YEAR
private static final int MAX_YEAR
private static final GregorianChronology INSTANCE_UTC
private static final java.util.concurrent.ConcurrentHashMap<DateTimeZone,GregorianChronology[]> cCache
private GregorianChronology(Chronology base, java.lang.Object param, int minDaysInFirstWeek)
public static GregorianChronology getInstanceUTC()
public static GregorianChronology getInstance()
public static GregorianChronology getInstance(DateTimeZone zone)
zone - the time zone to get the chronology in, null is defaultpublic static GregorianChronology getInstance(DateTimeZone zone, int minDaysInFirstWeek)
zone - the time zone to get the chronology in, null is defaultminDaysInFirstWeek - minimum number of days in first week of the year; default is 4private java.lang.Object readResolve()
public Chronology withUTC()
withUTC in class BaseChronologypublic Chronology withZone(DateTimeZone zone)
withZone in class BaseChronologyzone - the zone to get the chronology in, null is defaultZonedChronologyprotected void assemble(AssembledChronology.Fields fields)
AssembledChronologyassemble in class BasicChronologyfields - container of fieldsboolean isLeapYear(int year)
BasicChronologyisLeapYear in class BasicChronologyyear - the year to testlong calculateFirstDayOfYearMillis(int year)
BasicChronologycalculateFirstDayOfYearMillis in class BasicChronologyint getMinYear()
BasicChronologygetMinYear in class BasicChronologyint getMaxYear()
BasicChronologygetMaxYear in class BasicChronologylong getAverageMillisPerYear()
BasicChronologygetAverageMillisPerYear in class BasicChronologylong getAverageMillisPerYearDividedByTwo()
BasicChronologygetAverageMillisPerYearDividedByTwo in class BasicChronologylong getAverageMillisPerMonth()
BasicChronologygetAverageMillisPerMonth in class BasicChronologylong getApproxMillisAtEpochDividedByTwo()
BasicChronology
(yearAtEpoch * averageMillisPerYear + millisOfYearAtEpoch) / 2
where epoch is 1970-01-01 (Gregorian).getApproxMillisAtEpochDividedByTwo in class BasicChronology