[tz] Extra transition for Europe/London with 2023d
Guy Harris
gharris at sonic.net
Sat Jan 6 00:50:19 UTC 2024
On Jan 5, 2024, at 3:16 PM, Brooks Harris via tz <tz at iana.org> wrote:
> On 1/5/2024 2:31 PM, Paul Eggert wrote:
>
>> It's never been a goal of zic to pack as much as possible information about the input into the TZif binary output file. Instead, the goal has been to optimize the output file size, as long as optimization doesn't change localtime's behavior.
>
> Yes, I understand, I think. But I think these "first of year" transitions should be included in TzIf. They are important to the objectives I'm pursuing because they contain the critical STDOFF shifts that are not included in the normal outzone() output. I'm including both STDOFF and DST transitions in my resulting timestamp formats.
So by "STDOFF shifts" do you mean changes that represent a timezone changing which time zone it's in :-) rather than turning the clock forward in spring and backward in autumn?
I would expect them to be included unless they coincide with a clock forward/backward shift that cancels out the STDOFF shift. What are examples of STDOFF changes that don't show up in the TZif files?
Furthermore, at least as I read
https://pubs.opengroup.org/onlinepubs/9699919799/functions/daylight.html
they *do* affect the value of the timezone global variable, which is specified as "the difference, in seconds, between Coordinated Universal Time (UTC) and local standard time", and thus would need to be included in TZif files in order to support that variable (by changing its value to the the value in effect as of the last time converted - greasy hack, but that's what you get when you, meaning "AT&T", design an API that assumes a location never changes what time zone it's in).
>> However, I don't see how such a flag could preserve all the relevant information, without a change to the TZif file format.
>
> True, and I'm not suggesting TZif format should change, only that these transitions be retained.
>
> There aren't actually very many, though I've not done a full tally. But there's only 1 in London, 5 in New York, 1 in Sydney, etc. I think this would be a very small increase in the TzIf files size.
OK, so which transition is that for Europe/London?
Europe/London has
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/London -0:01:15 - LMT 1847 Dec 1
0:00 GB-Eire %s 1968 Oct 27
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
0:00 EU GMT/BST
The only transitions that affect STDOFF are the ones on 1968-10-27 (entering British Standard Time, 1 hour ahead of GMT) and the one on 1971-10-31 at 2:00 UTC (going with GMT in winter and British *Summer* Time in the summer).
Those appear in the Europe/London TZif file in macOS Ventura, as reported by the dump in macOS Ventura:
Europe/London Sun Feb 18 01:59:59 1968 UTC = Sun Feb 18 01:59:59 1968 GMT isdst=0 From Greenwich Mean Time
Europe/London Sun Feb 18 02:00:00 1968 UTC = Sun Feb 18 03:00:00 1968 BST isdst=1 to British Summer Time
Europe/London Sat Oct 26 22:59:59 1968 UTC = Sat Oct 26 23:59:59 1968 BST isdst=1 From British Summer Time
Europe/London Sat Oct 26 23:00:00 1968 UTC = Sun Oct 27 00:00:00 1968 BST isdst=0 to British Standard Time, with clocks not changed
Europe/London Sun Oct 31 01:59:59 1971 UTC = Sun Oct 31 02:59:59 1971 BST isdst=0 From British Standard Time
Europe/London Sun Oct 31 02:00:00 1971 UTC = Sun Oct 31 02:00:00 1971 GMT isdst=0 to Greenwich Mean Time, with clocks turned back an hour
because they involve a change to one or more of:
the offset from UTC that's currently in effect;
the isdst flag;
the time zone abbreviation.
What are some examples of changes that affect STDOFF that do *not* result in transitions in a TZif file?
More information about the tz
mailing list