Asia/Kolkata has changed to Asia/Calcutta in iOS 11! Why?

Hello.


Any idea why Asia/Kolkata has changed to Asia/Calcutta in iOS 11?

In IANA https://www.iana.org/time-zones it is registered as Asia/Kolkata.


It was Asia/Kolkata until iOS 10


Thanks

Replies

I believe this change is the result of iOS 11 syncing up with the latest ICU. It’s hard to find details on this because the SourceForge archive of the ICU mailing list seems to be offline, meaning I can’t read this post in its original context. However, the Google cache of the post has this most interesting snippet:

Oh, I remember this. Asia/Calcutta was used in the tz database until several years ago. Now, Asia/Kolkata replaces this and Asia/Calcutta is in backward file. ICU/CLDR has "stable" ID policy - so ICU/CLDR still uses "Asia/Calcutta" as a "canonical time zone ID" and "Asia/Kolkata" as an alias. So, in ICU, both Asia/Calcutta and Asia/Kolkata work fine - but when you try to get canonical ID via API, it will be "Asia/Calcutta", instead of "Asia/Kolkata"

I suspect that ICU actually toggled back and forth about this, which is why earlier versions of iOS used the new IANA value, but it’s hard to be sure without access to the mailing list archive. The other possibility is that iOS is now taking a different path through ICU, and thus seeing the canonical time zone ID.

If this is causing you ongoing grief then I recommend that you file a bug about it. Make sure to explain the specific issues that it’s causing, because this isn’t a problem for most folks (notably, both

Asia/Calcutta
and
Asia/Kolkata
are supported by
TimeZone(identifier:)
).

Please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"