Why Hindu Festivals Drift Every Year on the Gregorian Calendar: The Lunar Science Behind It

Aishwarya Kapoor | Times Life Bureau | Sept 07, 2026, 07:52 IST
Share
Why Hindu Festivals Drift Every Year on the Gregorian Calendar: The Lunar Science Behind It
Why Hindu Festivals Drift Every Year on the Gregorian Calendar: The Lunar Science Behind It
Image credit : Times Life Bureau

Diwali falls on a different Gregorian date every single year. So does Holi, Navratri, and every other Hindu festival you've tried to mark on a wall calendar. The answer is a lunisolar system tracking both the Moon and the Sun, and a correction mechanism called Adhik Maas that keeps every festival locked inside the same season, year after year.

The 11-Day Gap That Explains Everything

A lunar year is 354 days long. A solar year, the one the Gregorian calendar is built on, runs 365 days and 6 hours. The difference between them is roughly 11 days. Every Hindu festival is anchored to a specific lunar date: Diwali always falls on Kartik Amavasya, the new moon of the month of Kartik. Holi always falls on Phalgun Purnima, the full moon of Phalgun. The Moon doesn't negotiate with the Gregorian calendar. So each year, those lunar dates arrive about 11 days earlier in the solar count than they did the year before, and on your English wall planner, the festivals appear to wander.
This is not a flaw in the Hindu calendar. It is the direct consequence of tracking two celestial cycles simultaneously, which is exactly what the system was designed to do.

What the Moon Is Actually Marking

The Moon completes one full cycle, new moon to full moon and back, in approximately 29.5 days. Twelve of those cycles make a lunar year of about 354 days. The Hindu calendar divides this into twelve months, each beginning with the new moon (in the amanta tradition followed across most of South India and Maharashtra) or ending with it (in the purnimanta tradition used across North India). The month names, Chaitra, Vaishakha, Jyeshtha, Ashadha, Shravana, Bhadrapada, Ashvin, Kartik, Margashirsha, Pausha, Magha, Phalgun, have stayed constant for over two millennia.
Each festival is tied to a precise lunar moment: a tithi, which is one-thirtieth of the Moon's cycle. Dussehra is Ashvin Shukla Dashami, the tenth tithi of the bright fortnight in Ashvin. Guru Purnima is the full moon of Ashadha. These are not approximate dates. They are astronomical coordinates inside the Moon's orbit.

Why the Drift Doesn't Go On Forever: Adhik Maas

If the Hindu calendar simply ran 354-day years indefinitely, festivals would drift through every season over about 33 years, Diwali would eventually land in June, then February, then October again. That doesn't happen. The correction mechanism is called Adhik Maas, sometimes called Purushottam Maas: an intercalary month inserted into the calendar roughly every 29 to 32 months.
The rule for when to insert it is precise. The Hindu calendar tracks the Sun's movement through the twelve rashis, or zodiac signs. In a normal month, the Sun moves from one rashi into the next. Occasionally, a lunar month passes entirely without the Sun changing signs, it stays in the same rashi from new moon to new moon. That month is declared Adhik, meaning extra. It carries the name of the month that follows it and is generally considered inauspicious for major rituals, though it is considered sacred for devotional practice.

The result: the Hindu calendar adds roughly 29.5 days every two to three years, which compensates almost exactly for the accumulated 11-day annual shortfall. Festivals stay within a window of about 30 days on the Gregorian calendar. Diwali will always fall in October or November. Holi will always arrive in February or March. The drift is real. The correction is built in.

The Gregorian Calendar Is Not as Fixed as It Looks

The calendar most of the world uses for work, school, and government was standardised by Pope Gregory XIII in 1582, as a correction to the Julian calendar that Julius Caesar had introduced in 45 BCE. The Julian system had accumulated a 10-day error over the centuries because it slightly overestimated the solar year. Gregory's reform dropped those 10 days in October 1582 and introduced the rule that century years are only leap years if divisible by 400, which is why 1900 was not a leap year but 2000 was.
The Gregorian calendar tracks the solar year with high accuracy, but it has no relationship to the Moon at all. Easter is the one major Christian observance still tied to a lunar calculation, it falls on the first Sunday after the first full moon after the March solstice, which is why Easter also moves every year on the Gregorian calendar, for exactly the same reason Hindu festivals do.

The solstice itself, the moment the Sun reaches its northernmost or southernmost point, falls on a nearly fixed Gregorian date: around June 21 and December 21. The Hindu calendar tracks these moments too, as Uttarayan and Dakshinayan, but it does not organise the year around them the way the Gregorian system organises around the solar year alone.