01 Core Architecture
The Ethiopian Calendar (Amharic: የሐበሻ ዘመን አቆጣጠር) is a solar calendar that shares roots with the Coptic and Julian calendars. For developers, the most important differences from the Gregorian calendar are:
- 13 Months 12 months of 30 days each, plus a 13th month of 5 or 6 days.
- 7-8 Year Offset The year difference occurs because of a different calculation for the Annunciation of Jesus.
- Sept 11 Start The New Year (Enkutatash) usually falls on September 11th (or 12th in leap years).
- Leap Year Rule Occurs every 4 years without the Gregorian "century" exception.
02 Conversion Logic
When converting between Gregorian and Ethiopian dates, the safest method is to use Julian Day Numbers (JDN) as an intermediary.
// Example conversion logic
function toEthiopian(gregorianDate) {
const jdn = dateToJDN(gregorianDate);
// Subtract the Ethiopian era offset
const ethiopianJDN = jdn - 1723856;
// ... apply astronomical formulas to get Year, Month, Day
return { year, month, day };
} Tip: The Ethiopian year 2016 began on September 12, 2023 (Gregorian), due to it being a leap year.
03 The 6-Hour Shift
In Ethiopia, the day begins at dawn (6:00 AM Gregorian), not midnight. This means 7:00 AM Gregorian is 1:00 in Ethiopia.
Applications should generally store time in UTC and only apply this transform during the localization layer (L10n).
04 Recommended Libraries
Want to help improve this guide?
Contribute on GitHub