[tz] User time zones
zefram at fysh.org
Wed Dec 7 20:37:24 UTC 2011
Steven Abner wrote:
> The GMT example is an oddity case. GMT can stand both for a time,
>:Etc/GMT which I assume is the
>observatory location, and the English Isles regional time zone.
No, it can't. In the British Isles, "GMT" unambiguously refers to UT+0h,
never to regional civil time. Likewise, "BST" unambigously refers to
UT+1h, never to regional civil time. There is no official name for
the regional civil time, but "London time" is the most common term I
encounter. London time switches between GMT (UT+0h) and BST (UT+1h) on an
annual schedule. Where confusion between the two offsets is possible, we
disambiguate by explicitly stating "GMT" or "BST". Most obviously, when
London time switches from BST to GMT, as it recently did on 2011-10-30:
London time was 01:30 twice in one day, the first time being 01:30 BST
and the second (an hour later) being 01:30 GMT.
This is not an unusual arrangement for timezone abbreviations, not in
any way specific to GMT. The same applies with "EST" and "EDT" in the
US, for example. Indeed, this is the point of abbreviations varying
according to DST status.
Perhaps you've been led astray by Microsoft's timezone database, which
incorrectly uses "GMT" as the name for the civil timezone applying
in London. More generally, MS's database doesn't distinguish properly
between non-DST offset description and zone description.
>I am also guessing that that was one of
>the reasons for UTC, so that an offset of 0 from the observatory
>would be taken as the offset rather the
>the time zone the English use.
No. The term "Universal Time" (UT) was promulgated due to an ambiguity
in the definition of "GMT", but not the one you imagine (which never
existed). The real ambiguity was about whether the hours of the day
should be counted from midnight or from noon. Older astronomical
practice was to count hours (on any meridian) from noon, and so in
the 19th century, in technical contexts, "GMT" mainly meant Greenwich
(observatory) time counted from noon, which we would now call UT-12h.
Civil practice was to count hours from midnight, so "GMT" had different
meanings depending on context. The 1884 meridian conference agreed on the
Greenwich meridian as the international prime meridian, and agreed that
the universal day should be counted from midnight. The term "Universal
Time" was used by then to unambiguously refer to Greenwich time counted
The British astronomical almanac switched meanings of "GMT" in 1925.
Previously they'd used the astronomical convention, but from 1925 they
counted hours from midnight while continuing to label the time coordinate
as "GMT". So "GMT" became de facto ambiguous even in technical contexts
at that point. In 1928 the International Astronomical Union recommended
using the term "UT" (with its current meaning) instead of "GMT" (with
either meaning), to avoid the ambiguity. Note no "C" on "UT": that
didn't exist until the 1960s.
Nowadays, of course, no one counts hours from noon. Outside a
historical context, "GMT" unambiguously refers to the same thing as "UT".
Unless you get into sub-second effects, but that's out of the scope of
Generally, I think your goal of being able to look up a geographical
timezone based on the abbreviations it uses is a sensible one,
but creating new names for the zones is not the way to go about it.
The lookup should be a separate process, and should have explicit handling
for abbreviations used by more than one zone. The abbreviations just
don't behave like a namespace for these zones, in addition to them
actually naming something other than the geographical zone.
More information about the tz