Class EthiopicChronology
- java.lang.Object
-
- org.joda.time.Chronology
-
- org.joda.time.chrono.BaseChronology
-
- org.joda.time.chrono.AssembledChronology
-
- org.joda.time.chrono.EthiopicChronology
-
- All Implemented Interfaces:
java.io.Serializable
public final class EthiopicChronology extends AssembledChronology
Implements the Ethiopic calendar system, which defines every fourth year as leap, much like the Julian calendar. The year is broken down into 12 months, each 30 days in length. An extra period at the end of the year is either 5 or 6 days in length. In this implementation, it is considered a 13th month.Year 1 in the Ethiopic calendar began on August 29, 8 CE (Julian), thus Ethiopic years do not begin at the same time as Julian years. This chronology is not proleptic, as it does not allow dates before the first Ethiopic year.
This implementation defines a day as midnight to midnight exactly as per the ISO chronology. Some references indicate that a coptic day starts at sunset on the previous ISO day, but this has not been confirmed and is not implemented.
EthiopicChronology is thread-safe and immutable.
- Since:
- 1.2
- See Also:
- Wikipedia, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.joda.time.chrono.AssembledChronology
AssembledChronology.Fields
-
-
Field Summary
Fields Modifier and Type Field Description static int
EE
Constant value for 'Ethiopean Era', equivalent to the value returned for AD/CE.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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.static EthiopicChronology
getInstance()
Gets an instance of the EthiopicChronology in the default time zone.static EthiopicChronology
getInstance(DateTimeZone zone)
Gets an instance of the EthiopicChronology in the given time zone.static EthiopicChronology
getInstance(DateTimeZone zone, int minDaysInFirstWeek)
Gets an instance of the EthiopicChronology in the given time zone.static EthiopicChronology
getInstanceUTC()
Gets an instance of the EthiopicChronology.int
getMinimumDaysInFirstWeek()
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.-
Methods inherited from class org.joda.time.chrono.AssembledChronology
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
-
-
-
-
Field Detail
-
EE
public static final int EE
Constant value for 'Ethiopean Era', equivalent to the value returned for AD/CE.- See Also:
- Constant Field Values
-
-
Method Detail
-
getInstanceUTC
public static EthiopicChronology getInstanceUTC()
Gets an instance of the EthiopicChronology. The time zone of the returned instance is UTC.- Returns:
- a singleton UTC instance of the chronology
-
getInstance
public static EthiopicChronology getInstance()
Gets an instance of the EthiopicChronology in the default time zone.- Returns:
- a chronology in the default time zone
-
getInstance
public static EthiopicChronology getInstance(DateTimeZone zone)
Gets an instance of the EthiopicChronology in the given time zone.- Parameters:
zone
- the time zone to get the chronology in, null is default- Returns:
- a chronology in the specified time zone
-
getInstance
public static EthiopicChronology getInstance(DateTimeZone zone, int minDaysInFirstWeek)
Gets an instance of the EthiopicChronology in the given time zone.- Parameters:
zone
- the time zone to get the chronology in, null is defaultminDaysInFirstWeek
- minimum number of days in first week of the year; default is 4- Returns:
- a chronology in the specified time zone
-
withUTC
public Chronology withUTC()
Gets the Chronology in the UTC time zone.- Specified by:
withUTC
in classBaseChronology
- Returns:
- the chronology in UTC
-
withZone
public Chronology withZone(DateTimeZone zone)
Gets the Chronology in a specific time zone.- Specified by:
withZone
in classBaseChronology
- Parameters:
zone
- the zone to get the chronology in, null is default- Returns:
- the chronology
- See Also:
ZonedChronology
-
getZone
public DateTimeZone getZone()
Description copied from class:BaseChronology
Returns the DateTimeZone that this Chronology operates in, or null if unspecified.- Overrides:
getZone
in classAssembledChronology
- Returns:
- DateTimeZone null if unspecified
-
getDateTimeMillis
public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int millisOfDay) throws java.lang.IllegalArgumentException
Description copied from class:BaseChronology
Returns a datetime millisecond instant, formed from the given year, month, day, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.
- Overrides:
getDateTimeMillis
in classAssembledChronology
- Parameters:
year
- year to usemonthOfYear
- month to usedayOfMonth
- day of month to usemillisOfDay
- millisecond to use- Returns:
- millisecond instant from 1970-01-01T00:00:00Z
- Throws:
java.lang.IllegalArgumentException
- if the values are invalid
-
getDateTimeMillis
public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond) throws java.lang.IllegalArgumentException
Description copied from class:BaseChronology
Returns a datetime millisecond instant, formed from the given year, month, day, hour, minute, second, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.
- Overrides:
getDateTimeMillis
in classAssembledChronology
- Parameters:
year
- year to usemonthOfYear
- month to usedayOfMonth
- day of month to usehourOfDay
- hour to useminuteOfHour
- minute to usesecondOfMinute
- second to usemillisOfSecond
- millisecond to use- Returns:
- millisecond instant from 1970-01-01T00:00:00Z
- Throws:
java.lang.IllegalArgumentException
- if the values are invalid
-
getMinimumDaysInFirstWeek
public int getMinimumDaysInFirstWeek()
-
equals
public boolean equals(java.lang.Object obj)
Checks if this chronology instance equals another.- Overrides:
equals
in classjava.lang.Object
- Parameters:
obj
- the object to compare to- Returns:
- true if equal
- Since:
- 1.6
-
hashCode
public int hashCode()
A suitable hash code for the chronology.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- the hash code
- Since:
- 1.6
-
toString
public java.lang.String toString()
Gets a debugging toString.- Specified by:
toString
in classBaseChronology
- Returns:
- a debugging string
-
-