[tz] Extra transition for Europe/London with 2023d
brian.inglis at systematicsw.ab.ca
brian.inglis at systematicsw.ab.ca
Tue Jan 2 18:25:44 UTC 2024
On 2024-01-02 04:29, Derick Rethans via tz wrote:
> 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.
Check your installed data or paths and conversion code!
There was a leap second at that time, and regularly during the 1990s, so you
seem to be using right/Europe/London:
$ zdump -Vc1994,1998 right/Europe/London
right/Europe/London Sun Mar 27 01:00:17 1994 UT = Sun Mar 27 00:59:59 1994 GMT
isdst=0 gmtoff=0
right/Europe/London Sun Mar 27 01:00:18 1994 UT = Sun Mar 27 02:00:00 1994 BST
isdst=1 gmtoff=3600
right/Europe/London Fri Jul 1 00:00:18 1994 UT = Fri Jul 1 00:59:60 1994 BST
isdst=1 gmtoff=3600
right/Europe/London Fri Jul 1 00:00:19 1994 UT = Fri Jul 1 01:00:00 1994 BST
isdst=1 gmtoff=3600
right/Europe/London Sun Oct 23 01:00:18 1994 UT = Sun Oct 23 01:59:59 1994 BST
isdst=1 gmtoff=3600
right/Europe/London Sun Oct 23 01:00:19 1994 UT = Sun Oct 23 01:00:00 1994 GMT
isdst=0 gmtoff=0
right/Europe/London Sun Mar 26 01:00:18 1995 UT = Sun Mar 26 00:59:59 1995 GMT
isdst=0 gmtoff=0
right/Europe/London Sun Mar 26 01:00:19 1995 UT = Sun Mar 26 02:00:00 1995 BST
isdst=1 gmtoff=3600
right/Europe/London Sun Oct 22 01:00:18 1995 UT = Sun Oct 22 01:59:59 1995 BST
isdst=1 gmtoff=3600
right/Europe/London Sun Oct 22 01:00:19 1995 UT = Sun Oct 22 01:00:00 1995 GMT
isdst=0 gmtoff=0
right/Europe/London Mon Jan 1 00:00:19 1996 UT = Sun Dec 31 23:59:60 1995 GMT
isdst=0 gmtoff=0
right/Europe/London Mon Jan 1 00:00:20 1996 UT = Mon Jan 1 00:00:00 1996 GMT
isdst=0 gmtoff=0
right/Europe/London Sun Mar 31 01:00:19 1996 UT = Sun Mar 31 00:59:59 1996 GMT
isdst=0 gmtoff=0
right/Europe/London Sun Mar 31 01:00:20 1996 UT = Sun Mar 31 02:00:00 1996 BST
isdst=1 gmtoff=3600
right/Europe/London Sun Oct 27 01:00:19 1996 UT = Sun Oct 27 01:59:59 1996 BST
isdst=1 gmtoff=3600
right/Europe/London Sun Oct 27 01:00:20 1996 UT = Sun Oct 27 01:00:00 1996 GMT
isdst=0 gmtoff=0
right/Europe/London Sun Mar 30 01:00:19 1997 UT = Sun Mar 30 00:59:59 1997 GMT
isdst=0 gmtoff=0
right/Europe/London Sun Mar 30 01:00:20 1997 UT = Sun Mar 30 02:00:00 1997 BST
isdst=1 gmtoff=3600
right/Europe/London Tue Jul 1 00:00:20 1997 UT = Tue Jul 1 00:59:60 1997 BST
isdst=1 gmtoff=3600
right/Europe/London Tue Jul 1 00:00:21 1997 UT = Tue Jul 1 01:00:00 1997 BST
isdst=1 gmtoff=3600
right/Europe/London Sun Oct 26 01:00:20 1997 UT = Sun Oct 26 01:59:59 1997 BST
isdst=1 gmtoff=3600
right/Europe/London Sun Oct 26 01:00:21 1997 UT = Sun Oct 26 01:00:00 1997 GMT
isdst=0 gmtoff=0
but there is no change visible with zdump on default or POSIX 2023d:
$ zdump -Vc1994,1998 Europe/London
zdump -Vc1997,2025 -Vc1994,1998 Europe/London
Europe/London Sun Mar 27 00:59:59 1994 UT = Sun Mar 27 00:59:59 1994 GMT
isdst=0 gmtoff=0
Europe/London Sun Mar 27 01:00:00 1994 UT = Sun Mar 27 02:00:00 1994 BST
isdst=1 gmtoff=3600
Europe/London Sun Oct 23 00:59:59 1994 UT = Sun Oct 23 01:59:59 1994 BST
isdst=1 gmtoff=3600
Europe/London Sun Oct 23 01:00:00 1994 UT = Sun Oct 23 01:00:00 1994 GMT
isdst=0 gmtoff=0
Europe/London Sun Mar 26 00:59:59 1995 UT = Sun Mar 26 00:59:59 1995 GMT
isdst=0 gmtoff=0
Europe/London Sun Mar 26 01:00:00 1995 UT = Sun Mar 26 02:00:00 1995 BST
isdst=1 gmtoff=3600
Europe/London Sun Oct 22 00:59:59 1995 UT = Sun Oct 22 01:59:59 1995 BST
isdst=1 gmtoff=3600
Europe/London Sun Oct 22 01:00:00 1995 UT = Sun Oct 22 01:00:00 1995 GMT
isdst=0 gmtoff=0
Europe/London Sun Mar 31 00:59:59 1996 UT = Sun Mar 31 00:59:59 1996 GMT
isdst=0 gmtoff=0
Europe/London Sun Mar 31 01:00:00 1996 UT = Sun Mar 31 02:00:00 1996 BST
isdst=1 gmtoff=3600
Europe/London Sun Oct 27 00:59:59 1996 UT = Sun Oct 27 01:59:59 1996 BST
isdst=1 gmtoff=3600
Europe/London Sun Oct 27 01:00:00 1996 UT = Sun Oct 27 01:00:00 1996 GMT
isdst=0 gmtoff=0
Europe/London Sun Mar 30 00:59:59 1997 UT = Sun Mar 30 00:59:59 1997 GMT
isdst=0 gmtoff=0
Europe/London Sun Mar 30 01:00:00 1997 UT = Sun Mar 30 02:00:00 1997 BST
isdst=1 gmtoff=3600
Europe/London Sun Oct 26 00:59:59 1997 UT = Sun Oct 26 01:59:59 1997 BST
isdst=1 gmtoff=3600
Europe/London Sun Oct 26 01:00:00 1997 UT = Sun Oct 26 01:00:00 1997 GMT
isdst=0 gmtoff=0
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
-- Antoine de Saint-Exupéry
More information about the tz
mailing list