solar-calendar

Solar & Gregorian Calendar System

Overview

A comprehensive dual-calendar system displaying both Solar (Persian) and Gregorian calendars with full astronomical event tracking and cross-calendar linking.

Files

HTML Files

JavaScript

CSS

Features

Solar Calendar Display Format

Each month shows:

First Month / March-April
Farvardin / 1/12

Gregorian Calendar Display Format

Each month shows:

March / Farvardin-Ordibehesht
Solar Months: 1-2/12

Astronomical Events

Both calendars display:

Features:

Cross-Calendar Linking

Month Heading Links:

Day Links:

Month Name Origins

The Persian month names come from the Solar Hijri calendar (Zoroastrian tradition):

  1. Farvardin - Guardian spirits
  2. Ordibehesht - Best righteousness
  3. Khordad - Perfection
  4. Tir - Rain/water deity
  5. Mordad - Immortality
  6. Shahrivar - Desirable dominion
  7. Mehr - Love/affection
  8. Aban - Waters
  9. Azar - Fire
  10. Dey - Creator
  11. Bahman - Good mind
  12. Esfand - Holy devotion

CalendarProcessor Class

The CalendarProcessor class provides:

Properties

Key Methods

Date Conversion

getGregorianDateForSolarDay(solarYear, solarDay)
// Convert solar day number to Gregorian date

getSolarDateFromGregorian(gregorianDate, gregorianYear)
// Convert Gregorian date to solar calendar info

Astronomical Events

getAstronomicalEvents(year)
// Get all 4 astronomical events for a year

checkAstronomicalEvent(date, year)
// Check if a date is an astronomical event

Formatting

formatSolarMonthTitle(monthIndex)
// Returns: { main: "First Month / March-April", sub: "Farvardin / 1/12" }

formatGregorianMonthTitle(gregorianMonthIndex)
// Returns: { main: "March / Farvardin-Ordibehesht", sub: "Solar Months: 1-2/12" }

Usage

Basic Setup

All three files must be in the same directory:

solar-calendar.html
gregorian-calendar.html
calendar-processor.js
calendar-styles.css

Standalone Use

Each HTML file works independently and includes all necessary JavaScript inline.

Year Selection

Both calendars support years 1900-2100 through the year input control.

Theme Toggle

Technical Details

Solar Calendar

Date Calculations

Browser Compatibility

Customization

Styling

Modify calendar-styles.css to customize:

Date Processing

Extend CalendarProcessor class to:

License

This calendar system is provided as-is for educational and personal use.

Credits

Solar calendar based on the Persian Solar Hijri calendar system. Astronomical event calculations are approximate for demonstration purposes.