4 ጥር 2018
Addis Ababa:
Back to Home

Developer Guide to the Ethiopian Calendar

A technical breakdown of the ancient calendar system, designed for engineers building globalized applications.

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.

0:00 (Midnight) is 6:00 in Ethiopia
12:00 (Noon) is 6: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