TimezoneSearch

Why Some Time Zones Are Offset by 30 or 45 Minutes Instead of a Full Hour

6 min readoffbeatgeography

India is thirty minutes ahead of Pakistan. Pakistan is UTC+5. India is UTC+5:30. The two countries sit in the same broad band of longitude, and a scheduling tool that only knows whole hours will be early, or late, for every meeting with Mumbai for as long as the spreadsheet lives.

The 24 slices of one hour were a railway convenience. Countries pick a civil time for politics, trade, and the size of the territory, and a few of them picked a fraction of an hour. The fractions below are the ones that show up in ordinary business. All of them are IANA zones, which is the point of the database article: Asia/Kolkata already knows about the 30 minutes. An integer column does not.

India, UTC+5:30

Asia/Kolkata is Indian Standard Time, UTC+5:30, and it covers the whole country. India does not observe daylight saving, so the half hour never moves. The offset dates to 1906, set near the 82.5°E meridian, which passes Mirzapur. The country runs from about 68°E in Gujarat to about 97°E at the Myanmar border. That is close to two hours of solar time, on one clock. Morning in the east is still dark by the clock in the west. The administrative choice was one zone anyway.

London and Mumbai and Mumbai and Singapore are what the half hour does to an invite. Scheduling with India is the longer version. Put the :30 in the title. The next person will otherwise “fix” it.

Nepal, UTC+5:45

Asia/Kathmandu is UTC+5:45, adopted in 1986. Nepal does not observe daylight saving. The offset matches a meridian near Gaurishankar, east of Kathmandu. The result, whatever the motive, is mechanical: Nepal is fifteen minutes ahead of India, every day of the year. A meeting set on India’s hour starts a quarter of an hour early in Kathmandu, or late, depending on who typed it. Fifteen minutes is small enough to blame on the video call.

Iran, UTC+3:30

Asia/Tehran is Iran Standard Time, UTC+3:30, the 52.5°E meridian. Iran observed daylight saving for long stretches, on dates taken from the Persian calendar, so the spring change did not fall on a fixed weekday. The country abolished it after the fall back in September 2022. A current tz database has Tehran on UTC+3:30 all year. A database from early 2022 still inserts an hour in the Persian spring. That is the same class of bug as any other stale copy, described in the IANA article.

Iraq is UTC+3. Pakistan is UTC+5. Iran is the half hour between those neighbors and a long way from both.

Newfoundland, UTC−3:30, and a summer hour on top

America/St_Johns is Newfoundland Standard Time, UTC−3:30. The island kept the half hour after it joined Canada in 1949. It also observes daylight saving, to UTC−2:30, on the same North American dates as New York: forward on the second Sunday of March, back on the first Sunday of November. Labrador mostly uses Atlantic time (America/Goose_Bay, UTC−4 standard and UTC−3 daylight), not the island’s half hour. A meeting “with Newfoundland and Labrador” is not one offset until you know which coast.

Rounding St. John’s to Atlantic time makes you half an hour wrong all year, and an hour wrong if you also forget that the island changes on the US dates.

Central Australia is two zones that share a standard offset

Northern Territory, Australia/Darwin, is UTC+9:30 all year. It does not observe daylight saving.

South Australia, Australia/Adelaide, is UTC+9:30 on standard time and UTC+10:30 on daylight time, from the first Sunday of October to the first Sunday of April. In January, Adelaide is an hour ahead of Darwin. A page that says “central Australia is UTC+9:30” is telling the truth about July and a lie about January.

Western Australia is UTC+8, except around Eucla, on the Nullarbor, where the local practice is UTC+8:45. The identifier is Australia/Eucla. It is in the database because the clocks there do that. It is not the legal time of the state, and Perth does not observe it. Do not apply it to a meeting in the capital.

Myanmar, UTC+6:30

Asia/Yangon is UTC+6:30. Bangladesh is UTC+6. Thailand is UTC+7. Myanmar does not observe daylight saving. There is no seasonal slide to audit, and there is no whole hour you can round to without being wrong by thirty minutes in one direction or the other.

Chatham Islands, 45 minutes, with daylight saving

Pacific/Chatham is UTC+12:45 on standard time and UTC+13:45 on daylight time. The islands follow New Zealand’s dates: forward on the last Sunday of September, back on the first Sunday of April. They stay 45 minutes ahead of the mainland in both seasons. Mainland New Zealand is UTC+12 and UTC+13. The islands are about 800 kilometers east of the South Island. The odd part is not the distance. It is a 45-minute base that also moves for daylight saving, so a reminder set to a fixed UTC instant will be wrong relative to the island’s wall clock twice a year, on top of being 45 minutes off the mainland every day.

What to type instead of a rounded hour

If you are converting by hand, the cities to refuse to round are Kolkata, Kathmandu, Tehran, St. John’s, Darwin, Adelaide, Yangon, Eucla, and the Chatham Islands. If you are writing software, store the identifier and let the tz database supply the offset for the date in question. Adelaide in January and Adelaide in July are not the same number. Tehran in a 2022-era file and Tehran in a current file are not the same rules.

I have not tried to list every fractional offset in the database. A ship at sea and a research station will use others. The list above is the one that breaks a normal commercial calendar. The converter will show any of these cities against another without a special case, because the browser already has the fraction. The special case is the spreadsheet.