[tz] Support for Etc/GMT -style zones ids with partial hours

Neil Fuller nfuller at google.com
Wed Oct 21 17:12:13 UTC 2020

Would there be any support in this community for adding new Etc/GMT[-+]
zone identifiers but with partial hours? e.g. something like "Etc/GMT-5:30"

These might introduce some technical challenges, but I can see a use which
I will explain below. I haven't yet investigated the impact on Android
(where I deal with much of the time zone work), but I thought I'd ask for
thoughts before expending any effort prototyping.




Motivating case:

Taking Android as an example, the platform uses TZDB zone identifiers as
the basis for most time zone support. Directly, via a tzif-based file (used
for libc mktime/localtime / Android's custom implementation of
java.util.TimeZone), and indirectly via ICU4C and ICU4J.

In situations like we had this week with Palestine, i.e. less than one
week's notice before a DST transition change, the usual advice for users
affected is "Please manually select an alternative time zone that has the
offset you need until you receive a software update".
e.g. Microsoft Windows appears to do the same [1]

Side note: There are related cases for devices that have fallen out of
their OEM's support window and will never receive a TZDB update again. The
utility of these devices can degrade over time as their version of TZDB
slowly drifts from the user's reality. Users continuing to use these
devices may no longer be able to use the identifier for their actual
location and get the behavior they need. Instead, they have to select an
alternative zone ID that has the offset they need. If they're not lucky,
they may be forced to pick an alternative zone ID which has its own DST
schedule which might not match their requirements for the full year.

The Stock Android settings UI, starting with Android Pie (9.0), allows
users to select from the fixed "Etc/GMT-5" style identifiers from TZDB in
addition to the more regular "Europe/London"-style zone identifiers
associated with geographical regions. The original use case for this was to
allow pilots to select Etc/UTC, and we added support for selecting all the
other fixed Etc/GMT[+-] zones at the same time.

The current Etc/GMT[+-] zone identifiers in TZDB only cover whole hour
offsets. There are various places that use 30 minute offsets, and a few
that use 45/15 minute offsets [2].

For the cases where devices cannot receive rules updates (in time, or at
all), it would be useful to have the full range of 30-minute fixed-offset
possibilities for users to select from instead. I'm choosing to ignore the
15/45 minute ones right now as they appear much less common / useful.

Because most of our infrastructure treats TZDB as "ground truth" it would
be beneficial to get this support in TZDB rather than carrying local
patches to each library.

- this example is for Fiji / 2020b
[2] https://www.timeanddate.com/time/time-zones-interesting.html - zones
with offsets other than integer hours

Google UK Limited

Registered Office: 6 Pancras Square, London, N1C 4AG
Registered in England Number: 3977902
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20201021/01a2288b/attachment.html>

More information about the tz mailing list