[tz] Extra transition for Europe/London with 2023d

Derick Rethans tz at derickrethans.nl
Tue Jan 2 11:29:29 UTC 2024


Hi,

I have just updated the tzdb for PHP, and one of our tests started 
failing, and it turned out due to an unexpected data change:

Previously, the following transitions existed:

…
1994-03-27 01:00:00 UT (           764730000) =   1 [  3600 1   4 'BST' (0,0)]
1994-10-23 01:00:00 UT (           782874000) =   2 [     0 0   8 'GMT' (0,0)]
1995-03-26 01:00:00 UT (           796179600) =   1 [  3600 1   4 'BST' (0,0)]
1995-10-22 01:00:00 UT (           814323600) =   2 [     0 0   8 'GMT' (0,0)]
1996-03-31 01:00:00 UT (           828234000) =   1 [  3600 1   4 'BST' (0,0)]

                                           POSIX string: GMT0BST,M3.5.0/1,M10.5.0
                                           std:   2 [     0 0   8 'GMT' (0,0)]
                                           dst:   1 [  3600 1   4 'BST' (0,0)]


But now, they include an extra one for Jan 1st, 1996, with the March 31st one
now not being the last one:

…
1994-03-27 01:00:00 UT (           764730000) =   1 [  3600 1   4 'BST' (0,0)]
1994-10-23 01:00:00 UT (           782874000) =   2 [     0 0   8 'GMT' (0,0)]
1995-03-26 01:00:00 UT (           796179600) =   1 [  3600 1   4 'BST' (0,0)]
1995-10-22 01:00:00 UT (           814323600) =   2 [     0 0   8 'GMT' (0,0)]
1996-01-01 00:00:00 UT (           820454400) =   2 [     0 0   8 'GMT' (0,0)]

                                           POSIX string: GMT0BST,M3.5.0/1,M10.5.0
                                           std:   2 [     0 0   8 'GMT' (0,0)]
                                           dst:   1 [  3600 1   4 'BST' (0,0)]

I couldn't find anywhere in tzfile.5 or theory.html whether the last 
generated transition must match a transition as specified with the POSIX 
string (as it did with 2023c and earlier), but I vaguely remember having 
read such a thing when I implemented the POSIX string parsing logic.

As far as I know so-far, the only effect it has on PHP users is 
that they will now see an extra transition when they enumerate them (the 
1996-01-01 is inserted).

I think I am mostly flagging this up because this was an unexpected 
change.

cheers,
Derick

-- 
https://derickrethans.nl | https://xdebug.org | https://dram.io

Author of Xdebug. Like it? Consider supporting me: https://xdebug.org/support
Host of PHP Internals News: https://phpinternals.news

mastodon: @derickr at phpc.social @xdebug at phpc.social
twitter: @derickr and @xdebug


More information about the tz mailing list