Skip to content

Use Etc/GMT+12 instead of GMT+12 ?

Oh, timezones, how you do pester me...

I ran into an issue where a package fails to build due to lack of support for TZ=GMT+12 in the python tzlocal module, which seemed very similar to the tzlocal upstream issue:

https://github.com/regebro/tzlocal/issues/132

I also notice that:

TZ=GMT+12 date
Mon Jun 26 12:11:13 PM GMT 2023

behaves differently than:

TZ=Etc/GMT+12 date
Mon Jun 26 12:11:34 PM -12 2023

The time is displayed the same, but the timezone is strangely GMT vs -12 ... which seems ... wrong. But does not simply display UTC, as it does for invalid TZ values...

Ditto for GMT-14, of course!

I also notice that the tests.reproducible-builds.org infrastructure uses a full path:

env TZ TZ="/usr/share/zoneinfo/Etc/GMT+12" TZ="/usr/share/zoneinfo/Etc/GMT-14"

Although full path is best avoided if possible, as some systems (NixOS & Guix, at least) do not have zoneinfo in a specific location.

This may be a simple patch in the end, but for now I just wanted to document the issue...