AbushakirJs (ባሕረ ሃሳብ)

Bahire Hasab /'bəhrɛ həsəb/" means “An age with a descriptive and chronological number.” It's also seen as Hasabe Bahir, likening time to a vast sea.

Originating from Ge’ez and known in Arabic as Abu Shakir, this system was devised by the 12th Coptic Pope of Alexandria, Pope St. Dimitri, to track time through the Ethiopian calendar.


What is AbushakirJs?

AbushakirJs is a fully native JavaScript and TypeScript library that implements the Ethiopian calendar and datetime system, based on the UNIX Epoch (milliseconds since January 1, 1970 UTC). It is not a conversion layer over Gregorian — it's a first-class timekeeping model.

  • Works directly with the Ethiopian calendar

  • Handles date-time, holidays, feasts, and calendar math

  • ESDate-compatible API (new!)

  • Ideal for frontend and backend usage (Node, browsers)


Getting Started

Install

npm i abushakir

Import


Documentation


Features

Ethiopian Datetime (EtDatetime)

Supports:

  • Full date-time creation

  • Time arithmetic (add, subtract, difference)

  • Comparison methods (isAfter, isBefore, isAtSameMomentAs)

  • ISO 8601 output

  • Temporal API (toTemporalInstant())

  • ECMAScript-style API:

    • getDay, getFullYear, getMonth, getDate, setDate, etc.

    • toDateString, toLocaleString, toUTCString, etc.


Calendar Grid (ETC)


Bahire Hasab (የባሕረ ሐሳብ ሒሳብ)


Arabic to Ethiopic Numerals


Calendar Conversion

Gregorian → Ethiopian

Ethiopian → Gregorian


Example


Contact

Reach out with questions or feedback: nabute925@gmail.com


License

This project is licensed under the MIT License. See the LICENSE file for details.

Last updated

Was this helpful?