In 2027, Diwali falls on 29 October in New Delhi but on 28 October in Toronto and London. Neither date is a mistake. Hindu festivals are fixed by the Moon and the Sun as seen from a particular place, and the same sky gives different civil dates in different cities. If your app shows one city's dates to everyone, some of your users are fasting or celebrating on the wrong day.
The same festival, two cities, 2027
| Festival | New Delhi | Toronto | What decides it |
|---|---|---|---|
| Diwali | 29 Oct | 28 Oct | Amavasya must cover the evening pradosh kaal |
| Ganesh Chaturthi | 4 Sep | 3 Sep | Chaturthi must be current at midday |
| Rama Navami | 15 Apr | 14 Apr | Navami must be current at madhyahna |
| Raksha Bandhan | 17 Aug | 16 Aug | the afternoon must be free of Bhadra |
| Jaya Ekadashi | 17 Feb | 16 Feb | the tithi current at local sunrise |
| Makara Sankranti | 15 Jan | 14 Jan | the Sun’s ingress, moved to the next day if after sunset |
All dates in this article come from LifeAstroAPI for New Delhi (Asia/Kolkata), Toronto (America/Toronto) and Sydney (Australia/Sydney). You can check every one on the free city calendars.
1. A tithi is a moment in the sky, not a date
A tithi is a 12° step in the Moon's lead over the Sun. It starts and ends at the same instant everywhere on Earth. What changes from city to city is the local clock: Amavasya that begins at 20:49 in New Delhi begins at 11:19 the same day in Toronto. Whether that instant lands before or after the moment a festival “looks at” decides the date.
2. Each festival looks at a different moment of the day
Most vrats take the tithi current at local sunrise. Many festivals do not. Their classical rules look at the tithi during the evening twilight (pradosh), at midday (madhyahna), in the afternoon (aparahna), at midnight (nishita) or at moonrise. Sunrise, sunset and moonrise are local, so every one of these moments moves with the city.
Diwali: Amavasya must cover pradosh kaal
Lakshmi Puja is performed in the evening twilight, so Diwali is the day Amavasya covers the pradosh kaal. In 2027:
- New Delhi: Amavasya runs from 20:49 on 28 October to 19:07 on 29 October. On the 28th it starts after that evening's window (17:39–19:15) has ended; on the 29th it covers 17:39–19:07 of the window. Diwali is on 29 October.
- Toronto: the same Amavasya starts at 11:19 on 28 October, so it covers that evening's whole pradosh kaal (18:14–19:50). Diwali is on 28 October.
Ganesh Chaturthi: Chaturthi at midday
Ganesh puja is done around midday. In New Delhi, Shukla Chaturthi begins at 14:20 on 3 September, after midday, and lasts until 12:26 on the 4th, so the festival is on 4 September. In Toronto the same tithi begins at 04:50 on 3 September and covers that midday: 3 September.
Jaya Ekadashi: the tithi at sunrise, and a tithi that skips a sunrise
Ekadashi follows the tithi at local sunrise. In New Delhi, Ekadashi runs from 20:20 on 16 February to 17:32 on the 17th, so it is current at sunrise on the 17th: 17 February. In Toronto it runs from 09:50 on 16 February to 07:02 on the 17th, ending a few minutes before sunrise. It never touches a sunrise (a kshaya tithi), so it is observed on the day it begins: 16 February. The parana windows differ too: 06:57–10:43 on the 18th in New Delhi, 14:18–17:51 on the 17th in Toronto.
Makara Sankranti: the Sun's ingress and the sunset rule
Sankranti is the moment the Sun enters a sidereal sign, which is again one instant worldwide. In January 2027 the Sun enters Makara at 21:06 on 14 January in New Delhi, after sunset, so the observance moves to the next day: 15 January. In Toronto that instant is 10:36 in the morning of 14 January: 14 January.
Raksha Bandhan: the Bhadra rule
The rakhi is tied in the afternoon on Purnima, but not during Bhadra (Vishti karana). In Toronto, Purnima begins at 00:59 on 16 August and Bhadra ends at 14:14, before that afternoon's window (14:45–17:33): 16 August. In New Delhi, Purnima begins at 10:29 on 16 August and Bhadra lasts until 23:44, covering the whole afternoon, so the festival moves to 17 August, while Purnima is still current that morning.
Holi in Sydney: a day later than New Delhi
Holika Dahan is the evening Purnima covers pradosh kaal, and Holi is the next day. In New Delhi, Purnima begins at 18:22 on 21 March and covers that evening (18:33–20:09): Holika Dahan on 21 March, Holi on 22 March. In Sydney, Purnima begins at 23:52 on 21 March, after that evening's window, so Holika Dahan is on 22 March and Holi on 23 March.
3. Eclipses depend on where you stand
The total solar eclipse of 2 August 2027 is visible (partially) from London and New Delhi but not from Toronto, where it happens at night. Sutak is observed only where an eclipse is visible, so a calendar for Toronto should not list a sutak for it. LifeAstroAPI judges visibility for the requested location.
What this means if you build a calendar
- Never hard-code one city's dates. Compute them for each user's latitude, longitude and timezone.
- Use IANA timezones, such as
America/Toronto, not fixed offsets, so daylight saving is handled. - Show the reason. Users trust a date more when they can see the window that decided it.
One call returns a month of festivals for any place, each with the window that decided its date:
curl -H "Authorization: Bearer $LIFEASTRO_API_KEY" \
"https://api.lifeastroapi.com/v1/festivals/month?year=2027&month=10&lat=43.6532&lon=-79.3832&tz=America/Toronto"A complete example in TypeScript is in the tutorial Build a Hindu calendar feature in TypeScript. The rules behind every date are described on Hindu calendar, festivals and vrat, and Accuracy explains how the dates are checked against printed panchang calendars of 14 cities.