public final class GJChronology extends AssembledChronology
ISOChronology
instead.
The Gregorian calendar replaced the Julian calendar, and the point in time when this chronology switches can be controlled using the second parameter of the getInstance method. By default this cutover is set to the date the Gregorian calendar was first instituted, October 15, 1582.
Before this date, this chronology uses the proleptic Julian calendar (proleptic means extending indefinitely). The Julian calendar has leap years every four years, whereas the Gregorian has special rules for 100 and 400 years. A meaningful result will thus be obtained for all input values. However before 8 CE, Julian leap years were irregular, and before 45 BCE there was no Julian calendar.
This chronology differs from
GregorianCalendar
in that years
in BCE are returned correctly. Thus year 1 BCE is returned as -1 instead of 1.
The yearOfEra field produces results compatible with GregorianCalendar.
The Julian calendar does not have a year zero, and so year -1 is followed by year 1. If the Gregorian cutover date is specified at or before year -1 (Julian), year zero is defined. In other words, the proleptic Gregorian chronology used by this class has a year zero.
To create a pure proleptic Julian chronology, use JulianChronology
,
and to create a pure proleptic Gregorian chronology, use
GregorianChronology
.
GJChronology is thread-safe and immutable.
AssembledChronology.Fields
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj)
Checks if this chronology instance equals another.
|
long |
getDateTimeMillis(int year,
int monthOfYear,
int dayOfMonth,
int millisOfDay)
Returns a datetime millisecond instant, formed from the given year,
month, day, and millisecond values.
|
long |
getDateTimeMillis(int year,
int monthOfYear,
int dayOfMonth,
int hourOfDay,
int minuteOfHour,
int secondOfMinute,
int millisOfSecond)
Returns a datetime millisecond instant, formed from the given year,
month, day, hour, minute, second, and millisecond values.
|
Instant |
getGregorianCutover()
Gets the cutover instant between Gregorian and Julian chronologies.
|
static GJChronology |
getInstance()
Factory method returns instances of the default GJ cutover
chronology.
|
static GJChronology |
getInstance(DateTimeZone zone)
Factory method returns instances of the GJ cutover chronology.
|
static GJChronology |
getInstance(DateTimeZone zone,
long gregorianCutover,
int minDaysInFirstWeek)
Factory method returns instances of the GJ cutover chronology.
|
static GJChronology |
getInstance(DateTimeZone zone,
ReadableInstant gregorianCutover)
Factory method returns instances of the GJ cutover chronology.
|
static GJChronology |
getInstance(DateTimeZone zone,
ReadableInstant gregorianCutover,
int minDaysInFirstWeek)
Factory method returns instances of the GJ cutover chronology.
|
static GJChronology |
getInstanceUTC()
Factory method returns instances of the default GJ cutover
chronology.
|
int |
getMinimumDaysInFirstWeek()
Gets the minimum days needed for a week to be the first week in a year.
|
DateTimeZone |
getZone()
Returns the DateTimeZone that this Chronology operates in, or null if
unspecified.
|
int |
hashCode()
A suitable hash code for the chronology.
|
java.lang.String |
toString()
Gets a debugging toString.
|
Chronology |
withUTC()
Gets the Chronology in the UTC time zone.
|
Chronology |
withZone(DateTimeZone zone)
Gets the Chronology in a specific time zone.
|
centuries, centuryOfEra, clockhourOfDay, clockhourOfHalfday, dayOfMonth, dayOfWeek, dayOfYear, days, era, eras, getDateTimeMillis, halfdayOfDay, halfdays, hourOfDay, hourOfHalfday, hours, millis, millisOfDay, millisOfSecond, minuteOfDay, minuteOfHour, minutes, monthOfYear, months, secondOfDay, secondOfMinute, seconds, weekOfWeekyear, weeks, weekyear, weekyearOfCentury, weekyears, year, yearOfCentury, yearOfEra, years
public static GJChronology getInstanceUTC()
The first day of the week is designated to be
Monday
,
and the minimum days in the first week of the year is 4.
The time zone of the returned instance is UTC.
public static GJChronology getInstance()
The first day of the week is designated to be
Monday
,
and the minimum days in the first week of the year is 4.
The returned chronology is in the default time zone.
public static GJChronology getInstance(DateTimeZone zone)
The first day of the week is designated to be
Monday
,
and the minimum days in the first week of the year is 4.
zone
- the time zone to use, null is defaultpublic static GJChronology getInstance(DateTimeZone zone, ReadableInstant gregorianCutover)
The first day of the week is designated to be
Monday
,
and the minimum days in the first week of the year is 4.
zone
- the time zone to use, null is defaultgregorianCutover
- the cutover to use, null means defaultpublic static GJChronology getInstance(DateTimeZone zone, ReadableInstant gregorianCutover, int minDaysInFirstWeek)
zone
- the time zone to use, null is defaultgregorianCutover
- the cutover to use, null means defaultminDaysInFirstWeek
- minimum number of days in first week of the year; default is 4public static GJChronology getInstance(DateTimeZone zone, long gregorianCutover, int minDaysInFirstWeek)
zone
- the time zone to use, null is defaultgregorianCutover
- the cutover to useminDaysInFirstWeek
- minimum number of days in first week of the year; default is 4public DateTimeZone getZone()
BaseChronology
getZone
in class AssembledChronology
public Chronology withUTC()
withUTC
in class BaseChronology
public Chronology withZone(DateTimeZone zone)
withZone
in class BaseChronology
zone
- the zone to get the chronology in, null is defaultZonedChronology
public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int millisOfDay) throws java.lang.IllegalArgumentException
BaseChronology
The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.
getDateTimeMillis
in class AssembledChronology
year
- year to usemonthOfYear
- month to usedayOfMonth
- day of month to usemillisOfDay
- millisecond to usejava.lang.IllegalArgumentException
- if the values are invalidpublic long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond) throws java.lang.IllegalArgumentException
BaseChronology
The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.
getDateTimeMillis
in class AssembledChronology
year
- year to usemonthOfYear
- month to usedayOfMonth
- day of month to usehourOfDay
- hour to useminuteOfHour
- minute to usesecondOfMinute
- second to usemillisOfSecond
- millisecond to usejava.lang.IllegalArgumentException
- if the values are invalidpublic Instant getGregorianCutover()
public int getMinimumDaysInFirstWeek()
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
obj
- the object to compare topublic int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class BaseChronology
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"