☉ Persian Zoroastrian Solar Calendar

📍 Location

📅 Today

🗓️ Monthly Calendar

🎉 Yasnas (Jashns) of the Year

☀️ 5 Gāh

Current Time:

Daylight Saving Time: not observed (fixed UTC offset used year-round)

Active Gāh ()

0%

⏱️ Passed: ()
⌛ Remaining: ()

Full Solar Day (Sunrise → Sunrise)

0%

⏱️ Passed: ()
⌛ Remaining: ()

🌗 Gāh Sectors

🌌 Prev. Night (Ušahina / Shab) — starts
🌅 Next Morning (Hāvana / Bāmdād) — starts

🌎 True Solar Day (Noon → Noon):

🌸 Current Season

Season: (from )

— / — days

🌞 Days Passed: ()
Days Remaining: ()


🌍 Current Solar Year

Year started: (Nowruz)

— / — days

🌞 Days Passed: ()
Days Remaining: ()

🗓️ Seasonal Quarters of

🌱 Vaŋhar (Bahār)
Nava Raočå (Nowruz)
Equinox
Start:
Length:
Share:
☀️ Hama (Tābestān)
Yasna Tištryahe (Tirgan)
Solstice
Start:
Length:
Share:
🍂 Paiti-iš (Pā'īz)
Yasna Mithrahe (Mehregan)
Equinox
Start:
Length:
Share:
❄️ Zima (Zemestān)
Maidyāriya (Shabe Chelleh)
Solstice
Start:
Length:
Share:

🌎 Total Solar Year:

🎉 Gāhambār Midpoints

🌙 Moon Events

🌙⬆️
Moonrise
🌙
Moon Peak
🌙⬇️
Moonset

🕐 Moon Age: — days into the ~29.5 day lunar cycle

❓ How This Calendar Works

1. Overview

Every date and boundary in this app is computed from the Sun's actual position for your coordinates: equinox and solstice timing, sunrise, solar noon, sunset, and solar midnight. The day, the month, and the year each track a different layer of that motion.

The day divides into 5 Gāhs, bounded by sunrise, solar noon, sunset, and solar midnight.

The month is 30 days, and each of those 30 days has its own individual name (Rōz), cycling identically in every month.

The year is 12 such months (360 days) plus 5 intercalary Gāthā days, anchored to Nowruz — the vernal equinox.

2. The 12×30 Month Structure

Twelve months of exactly 30 days each total 360 days. The remaining 5 days needed for a 365-day solar year form the Gāthā days, a short block right before the next Nowruz. They don't belong to any of the 12 months.

#MonthEnglish#MonthEnglish
1FarvardinAncestral Souls7MihrSun Light
2OrdibeheshtBest Truth8AbanWaters
3KhordadWholeness9AdarFire
4TirRain Star10DeyMaker
5AmordadImmortality11BahmanGood Mind
6ShahrevarDesirable Dominion12EsfandBounteous Devotion

Each day begins at sunrise, so a calendar day spans two Gregorian dates — the app labels this as a range, e.g. Mar 20-21. The exact range shifts slightly year to year and by location, since it's found by walking sunrise-to-sunrise from the Nowruz anchor rather than by a fixed offset.

There's no persistent "year number." The app never stores or increments a year count. Each time it needs today's date, it finds the equinox that starts the current cycle and treats that as Nowruz. So the calendar is a repeating 365-day cycle keyed to real astronomy, not an accumulating count from some epoch. A festival defined as "day 41 of the year" (Ordibehesht 11) always lands correctly every cycle, because it's counted forward from whichever Nowruz was just found.
Nowruz uses the local spring equinox — the March equinox in the Northern Hemisphere, the September equinox in the Southern Hemisphere. A location's Nowruz is always the equinox that starts its own local spring, not a fixed calendar date shared globally.
Day 1 doesn't always start on the same calendar date as the equinox. The equinox is a single global instant; whether that instant falls before or after a given location's sunrise that day depends entirely on the location's longitude. If the equinox happens after the day's sunrise has already passed, Day 1 rolls forward to the next sunrise instead. For the March 2026 equinox (14:45:30 UTC):
  • Mexico City — equinox at 8:45 AM local, after that day's sunrise (6:41 AM) → Day 1 starts the following morning.
  • Honolulu — equinox at 4:45 AM local, before that day's sunrise (6:36 AM) → Day 1 starts that same morning.
The two locations end up exactly one day apart in the calendar from that point on, for the entire year. This applies everywhere the app anchors to Nowruz — the date engine, the Monthly Calendar's Gregorian labels, and the Current Solar Year box's "Year started" figure all reflect the real per-location Day 1, not the raw equinox instant.

3. The 30 Day-Names (Rōz)

Each day of every month is dedicated to one of the Yazatas, in a fixed 30-name cycle repeating identically in every month.

#Base Avestan NameNew PersianEnglish
1Ahura MazdaHormazdLord Wisdom
2Vohu ManahBahmanGood Mind
3Aša VahištaOrdibeheshtBest Truth
4Xšaθra VairyaShahrevarDesirable Dominion
5Spenta ĀrmaitiEsfandBounteous Devotion
6HaurvatātKhordadWholeness
7AmeretātAmordadImmortality
8Datuš Ahura MazdaDey-ba-AdarDay Before Fire
9ĀtarAzar / AdarFire
10ApAbanWaters
11Hvare-xšaētaKhorshedRadiant Sun
12MāhMahMoon
13TištryaTirRain Star
14Geuš UrvanGoshSoul Bull
15Datuš Ahura MazdaDey-ba-MihrDay Before Sun Light
16MithraMihr / MehrSun Light
17SraōšaSoroushObedience
18RašnuRashnJustice
19FravašiFarvardinAncestral Souls
20VərəθraγnaBahramVictory
21RāmanRamPeace
22VātaBad / VadWind
23Datuš Ahura MazdaDey-ba-DinDay Before Conscience
24DaēnāDinConscience
25AšiArd / AshiGood Reward
26ArštātAshtadRectitude
27AsmanAsmanSky
28ZamZamyadEarth
29Mąθra SpentaMahraspandHoly Word
30Anaghra RaōčahAneranEndless Lights

Days 8, 15, and 23 are all dedicated to Datuš Ahura Mazda ("Creator") and disambiguated in Persian by which later day each precedes: Dey-ba-Adar, Dey-ba-Mihr, Dey-ba-Din.

A note on scope: this system has no established grouping of these 30 day-names into week-like units — that's not covered here, since it isn't something the app implements or something I can confirm as a documented historical practice.

4. The 5 Gāhs

The day divides into 5 periods bounded by real solar events at your location. Pasin's start is fixed at a set point on the app's degree scale (120°) rather than tracking a named astronomical event; the other four boundaries all track a real event directly.

GāhSpan
Hāvana (Bāmdād)
Sunrise → Solar Noon
Begins the instant the sun's upper limb crosses the eastern horizon; ends at solar meridian transit.
Rapiθvina (Nimruz)
Solar Noon → Pasin's start
Begins exactly at solar noon, extending a short way into early afternoon.
Uzayeirina (Pasin)
Fixed start → Sunset
Afternoon decline, ending the instant the sun's disk drops below the western horizon.
Aiwisrūθrima (Sham)
Sunset → Solar Midnight
Dusk through the twilight stages to solar midnight (nadir).
Ušahina (Shab)
Solar Midnight → next Sunrise
From the nadir through pre-dawn to the next sunrise.
Rapiθvina is suspended for 5 months a year, centered on the local winter solstice. During that window, Hāvana (Bāmdād) extends from 0°–90° to 0°–120°, covering Rapiθvina's slot. Pasin is unaffected either way — always 120°–180°.

5. The 6 Gāhambārs

AvestanPersianMeaningDate
Maidyō-zarmyaMiyān BahārMid-SpringOrdibehesht 11
Maidyō-šamaMiyān TābestānMid-SummerTir 11
Paiti-ša-hāmyaPāyān TābestānEnd of SummerShahrivar 26
Aya-θrimaMiyān Pā'īzMid-AutumnMehr 26
Maidyō-yāryaMiyān ZemestānMid-WinterDey 11
Hama-spas-maidayaPāyān SālEnd of YearEsfand 26

6. The 12 Monthly Jashns

A Jashn falls whenever the day's name matches the month's own name — since each of the 12 months is itself named after one of the 30 day-Yazatas, this happens once per month, except Dey.

JashnFalls on
FarvardingānFarvardin 19
OrdībeheštgānOrdibehesht 3
KhordādgānKhordad 6
TīrgānTir 13
AmordādgānAmordad 7
ŠahrevaragānShahrevar 4
MihrgānMihr 16
ĀbāngānAban 10
ĀdargānAdar 9
DeygānDey 1, 8, 15 & 23
BahmangānBahman 2
EsfandgānEsfand 5

Dey gets four instead of one: "Dey" means "Creator," and days 8, 15, and 23 are also all dedicated to the Creator (Datuš Ahura Mazda). So within the month of Dey, the day-name matches the month's meaning four times — day 1 (the month's own start) plus days 8, 15, and 23.

7. The 4 Cardinal Points of the Year

The fixed astronomical anchors that define where each quarter begins — always the March/June/September/December equinox or solstice, regardless of hemisphere.

Nōrūz
Spring Equinox
Tīrgān
Summer Solstice
Mihrgān
Autumn Equinox
Shabe Chelleh
Winter Solstice

Nōrūz is Farvardin 1. The four seasons are Bahār, Tābestān, Pā'īz, and Zemestān.

"Tīrgān" and "Mihrgān" here name the solstice/equinox instant itself. Those same names also belong to two of the 12 monthly Jashns above (Tīrgān on Tir 13, Mihrgān on Mihr 16) — the app treats these as two separate things sharing a name, not one continuous multi-day event bridging the solstice/equinox to the Jashn date. I don't have a confirmed source for a traditional celebration window spanning that gap, so I'm not asserting one here.

8. Astronomical Methodology

Equinoxes & Solstices

Computed to sub-minute precision for the actual year in question, not read from a fixed calendar date — Nowruz can fall anywhere from roughly March 19–21 depending on the year.

Sunrise, Solar Noon, Sunset, Solar Midnight

Computed for your exact latitude and longitude each day.

Two "day length" figures

The app tracks two distinct measurements:

  • True Solar Day (noon → next noon) — varies roughly 24h ± 30 seconds across the year, due to Earth's elliptical orbit and axial tilt.
  • Sunrise-to-sunrise — used because the Gāh cycle and the calendar day both begin at dawn. This wobbles further from 24 hours than the noon figure because it's also affected by latitude.

The Moon

Phase, illumination, distance, rise/transit/set, and angular diameter are all computed live from lunar ephemeris. The angular diameter is calculated internally (used in the supermoon/micromoon threshold checks) but isn't currently displayed as its own figure in the interface. The moon-phase icon is rendered from a numerically sampled terminator curve rather than a set of pre-drawn phase images.

9. Behavior at Extreme Latitudes

Above roughly 66.5° latitude, there are days each year with no sunrise or sunset — Midnight Sun or Polar Night. Solar noon and solar midnight (nadir) stay defined in both cases, since they only depend on the sun's meridian transit, not on the horizon. At the exact geometric pole (90.000°), longitude itself is undefined and the sun's altitude barely changes across a full rotation — but solar noon and solar midnight remain distinct, calculable moments in that rotation, so the Gāh can still be resolved from them.

StateActive Gāh
Polar Night (sun never rises)Ušahina (Shab), for one full nadir-to-nadir cycle
Midnight Sun, nadir → solar noonHāvana (Bāmdād)
Midnight Sun, solar noon → next nadirRapiθvina (Nimruz), extended — there's no sunset to hand off to Uzayeirina

The Active Gāh progress bar, and the Gāh Sectors cards, use these same nadir/noon windows to show real elapsed and remaining time — not placeholder text. During Midnight Sun, the Full Solar Day bar retitles itself to "Noon → Noon" and tracks that cycle instead of sunrise-to-sunrise, since sunrise doesn't happen. During Polar Night, Ušahina (Shab) already spans the entire day as one continuous nadir-to-nadir Gāh, so the Full Solar Day bar reuses that exact same window and retitles to "Midnight → Midnight" — the two percentages always agree in that state, rather than being measured from two different anchors. The Sunrise/Sunset entries are left out of the daily event list rather than shown blank; Solar Noon and Solar Midnight are shown as usual. The Monthly Calendar's Gregorian date labels fall back to a fixed day boundary so they keep displaying even without a sunrise to anchor them.

During Midnight Sun the dial switches to tracking live solar azimuth around a full 360° ring rather than a horizon-anchored wheel, since there's no sunrise/sunset pair to anchor it to.

Everything not tied to sunrise/sunset — Current Season, Current Solar Year, the Zoroastrian calendar date, equinox and solstice timing — is unaffected at any latitude, poles included, since none of it depends on the observer's horizon.