EOY

Why the zone list says Asia/Calcutta

Updated

On the Mac we test with, set to Indian time, Chrome starts this board's zone picker on Asia/Calcutta. The time zone database renamed that zone Asia/Kolkata in 2008. The old name survives because another standard keeps its time zone names stable.

Where zone names come from

Browsers take their time zones from the IANA time zone database, the tz database; the ECMAScript standard requires it of every implementation that supports time zones. The database names zones in the form Area/Location, a continent or ocean followed by a place, as in Africa/Cairo, America/New_York and Pacific/Honolulu. Its guidelines prefer the most populous place in a region (Asia/Shanghai rather than Asia/Beijing) and mainstream English spelling (Europe/Rome, not Europa/Roma). Names are deliberately not tied to countries, because countries change their names and borders: Swaziland became Eswatini, and Hong Kong passed from British to Chinese rule.

A rename, and a link

The database ordinarily changes a name only in the rare case that a place's consensus English spelling changes. In release 2008b, on 24 March 2008, Asia/Calcutta became Asia/Kolkata, "due to long-time widespread use of the new city name instead of the old", in the words of the database's own guidelines. The old name was not deleted. A file called backward keeps Asia/Calcutta as a link to Asia/Kolkata, so software that stored the old name keeps working. The same file carries Asia/Saigon for Asia/Ho_Chi_Minh, Asia/Rangoon for Asia/Yangon, Europe/Kiev for Europe/Kyiv and America/Godthab for America/Nuuk.

Why Chrome still says Calcutta

Chrome runs JavaScript with the V8 engine, and V8's internationalisation support is built on the ICU library. ICU's canonical time zone IDs are those of the Unicode Common Locale Data Repository (CLDR), and CLDR keeps its IDs stable because its locale data is keyed by them. The CLDR specification uses this very zone as its example: its entry lists Asia/Calcutta first, which makes it the CLDR canonical ID, with Asia/Kolkata as an alias and an attribute recording that the tz database now prefers Asia/Kolkata. ICU's own documentation says the same: CLDR defines Asia/Calcutta as the canonical ID.

On the machine we test with, Chrome 153 reports the device's zone as Asia/Calcutta, lists Asia/Calcutta but not Asia/Kolkata among its 418 supported zones, and answers Asia/Calcutta when asked for Asia/Kolkata. The current draft of the ECMAScript internationalisation specification points the other way: a link name such as Asia/Calcutta should resolve to the zone it links to, Asia/Kolkata. For now, Chrome reports the old name.

What it means for the countdown

Only the label differs. Asia/Calcutta and Asia/Kolkata are the same zone, UTC+5:30 with no daylight saving time, so the count is identical under either name. The board shows the list your browser supplies and adds two entries by hand: UTC, which Chrome's list leaves out, and your detected zone, if the list does not already contain it.

Sources

Open the board →