[tz] Extra transition for Europe/London with 2023d
Paul Eggert
eggert at cs.ucla.edu
Sat Jan 6 03:15:56 UTC 2024
On 1/5/24 16:50, Guy Harris wrote:
> What are some examples of changes that affect STDOFF that do *not* result in transitions in a TZif file?
I don't know of any in 2023d, other than transitions governed by the TZ
string (which are OK).
As I understand it, this thread is about timestamps like 820454400
(1996-01-01 00:00:00 UTC) in 2023d's Europe/London. This is a no-op
transition - "no-op" in the sense that tm_isdst, tm_zone, and tm_gmtoff
do not change at that instant: they remain 0, "GMT", 0 respectively.
In 2023d timestamps like these can appear as the last explicit timestamp
in the TZif file, as a marker where the TZ string starts to govern. In
2023d's Europe/London, all timestamps from 820454400 on are governed by
Europe/London's TZ string "GMT0BST,M3.5.0/1,M10.5.0".
I wrote earlier that this timestamp could be omitted but I now see that
I was mistaken. The previous timestamp in Europe/London is 814323600
(1995-10-22 01:00:00 UTC), a transition from BST to GMT. If we simply
omitted the 820454400 transition the TZif file would become incorrect,
since the file's TZ string says that 814323600 is BST, and this would
disagree with what the previous timestamp transitioned to.
However, the 2023d timestamp 820454400 could be replaced by any
timestamp from 814928400 (1995-10-29 01:00:00 UTC) through 828233999
(1996-03-31 00:59:59 UTC) without affecting behavior visible to
localtime etc.
Better yet, it could be replaced by 828234000 (1996-03-31 01:00:00 UTC)
so long as the corresponding transition is a real one, to BST, as
opposed to being a no-op placeholder from GMT to GMT. This would be less
confusing for TZif readers, because the TZif file would not contain
these particular no-op transitions. (TZif files still could contain
other no-op transitions, though; in some cases involving 'zic -r'
they're unavoidable.)
This is what Derick noted in his original email. That is, he noted that
2023c Europe/London took the "Better yet" approach mentioned above,
whereas 2023d Europe/London uses a more-confusing (though still correct)
transition.
More information about the tz
mailing list