A Python-based calendar application that supports Gregorian, Julian, and Ethiopian calendars, featuring calendar generation, leap year calculations, and date-related utilities.
# 📅 Multi-Calendar System in Python
A Python-based calendar application that generates yearly calendars using the **Gregorian**, **Julian**, and **Ethiopian** calendar systems. The project automatically handles the historical transition from the Julian calendar to the Gregorian calendar, converts every displayed date to its Ethiopian equivalent, and highlights selected Ethiopian public holidays.
---
## ✨ Features
* 📆 Generate a complete calendar for any year.
* 🌍 Supports **Gregorian**, **Julian**, and **Ethiopian** calendar systems.
* 🔄 Automatically switches between the **Julian** and **Gregorian** calendars based on the historical calendar reform (1752).
* 📅 Correct leap year calculation for both Gregorian and Julian calendars.
* 🇪🇹 Converts every displayed date to its Ethiopian calendar equivalent.
* 🏷️ Displays Ethiopian month names alongside Gregorian months.
* 🎉 Highlights selected Ethiopian public holidays, including:
* Enkutatash (New Year)
* Meskel
* Gena (Ethiopian Christmas)
* Timket
* Adwa Victory Day
* Patriots' Victory Day
* 📌 Correctly handles the skipped dates during the 1752 Julian-to-Gregorian transition.
* 🖥️ Interactive command-line interface.
---
## 📂 Project Structure
```
calendar.py
```
The program includes:
* Leap year calculations
* Month day calculations
* Julian Day Number (JDN) conversions
* Gregorian ↔ Ethiopian date conversion
* Calendar generation
* Ethiopian holiday detection
* Yearly calendar printing
* User interaction loop
---
## 🛠️ Technologies Used
* Python 3
* Standard Python Library (No external dependencies)
---
## ▶️ How to Run
1. Clone the repository.
```bash
git clone
github.com
```
2. Navigate to the project folder.
```bash
cd nahor-dev/calendar
```
3. Run the program.
```bash
python calendar.py
```
---
## 📸 Example
```
Enter the year (Julian or Gregorian): 2026
```
The program will display:
* The complete yearly calendar
* Gregorian or Julian dates
* Ethiopian mont …