Ethiopic calendar system
The Ethiopic calendar system is similiar to the Coptic calendar and based on that used in ancient Egypt. The calendar system is in use today in Ethiopia.
The Ethiopic calendar system consists of 12 months of exactly 30 days, followed by a 5 or 6 day intercalary month making a year of 365 or 366 days. Leap years (6 day intercalary month) occur every 4 years without exception (as per the Julian calendar). They occur when the remainder left after dividing the Ethiopic year by four is 3. The Ethiopic year starts on Septamber 11th/12th depending on leap years. The epoch date for the calendar is 0008-08-29 (Julian), which therefore is 0001-01-01 (Ethiopic). The current era is 'EE' (Ethiopian Era).
Joda-Time implements the rules described above. We model the 5 or 6 day intercalary month as month 13. We also prevent the entry of dates before year 1.
References
- Calendrical Calculations - Millenium Edition - ISBN 0521777526
- Wikipedia - Ethiopic Calendar
Using Ethiopic chronology in Joda-Time
Within Joda-Time the Ethiopic calendar system can be used by obtaining an instance of EthiopicChronology. This is normally created via the EthiopicChronology.getInstance() factory. The chronology is then passed into the constructors of the main date and time classes.
// setup date object for midday on May Day 2004 (ISO year 2004) DateTime dtISO = new DateTime(2004, 5, 1, 12, 0, 0, 0); // find out what the same instant is using the Ethiopic Chronology DateTime dtEthiopic = dtISO.withChronology(EthiopicChronology.getInstance());