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

Guy Harris gharris at sonic.net
Sat Jan 6 20:45:03 UTC 2024


On Jan 6, 2024, at 8:34 AM, Michael H Deckers via tz <tz at iana.org> wrote:

>    Yes, there is information on local civil times scales needed by many
>    datetime software interfaces that is already present in the tzdb source files
>    but that is missing from the TZif files since the very beginning:
> 
>    • the SAVE value (or the numeric RULES value) applicable at an instant
>      is not available via TZif files, and cannot in general be deduced
>      from its contents (see eg the SAVE value +01 h for Europe/Dublin when
>      UT = 1916-10-01 + 02:25:21.1). It has even become more difficult
>      to guess these values from TZif files since they are allowed to be negative.

I.e., TZif files:

	https://datatracker.ietf.org/doc/html/rfc8536

don't contain enough information to allow both STDOFF and SAVE to be derived for a given time value.

We could provide a version 5, with a version 5 data block that does contain that information.  (RFC 8536 doesn't describe version 4; the tzfile(5) man page describes it as

       For version-4-format TZif files, the first leap second record can have
       a correction that is neither +1 nor -1, to represent truncation of the
       TZif file at the start.  Also, if two or more leap second transitions
       are present and the last entry's correction equals the previous one,
       the last entry denotes the expiration of the leap second table instead
       of a leap second; timestamps after this expiration are unreliable in
       that future releases will likely add leap second entries after the
       expiration, and the added leap seconds will change how post-expiration
       timestamps are treated.


>    • the RULEs applicable at a specific instant (if any). They are available
>      in TZif files (in versions 2 and 3) only for recent instants, and the start
>      of their applicability is only given indirectly in TZif files, sometimes
>      requiring a redundant transition (which is the topic of this thread).

So how does software (other than zic, of course :-)) use the rules rather than just the transition times calculated from the rules?

>    I think it would be very useful to have an official output of the tzdb data
>    compilation process (zic and associated tools) that makes these data
>    available for datetime software, even though they are not needed by
>    the POSIX datetime functions.

Yes, there is no inherent reason why the TZif format, for example, should limit itself to supporting only the date/time functions that POSIX and the C standard currently happen to provide.


More information about the tz mailing list