[tz] Leap Second Support Interval Field Request - RFC8536

Michael H Deckers michael.h.deckers at googlemail.com
Sat Dec 7 01:15:26 UTC 2019

On 2019-12-06 21:45, Paul Eggert wrote:

> This won't have the desired effect. For example, it would cause the 
> Etc/TAI clock's adjacent ticks to be 1972-06-30 23:59:59 and 
> 1972-07-01 00:00:01, whereas the adjacent ticks should be 1972-06-30 
> 23:59:60 and 1972-07-01 00:00:00. Also, when compiling the Etc/TAI 
> zone with -L leapseconds, the resulting TZif file would have incorrect 
> transitions because each leap second would be applied twice.

      Oops -- I should not have omitted the time of day of
      the switches from the Zone lines -- sorry for the confusion.

      The complete lines must have a time of day, of course:

         Zone   Etc/TAI  0:00:10 - TAI   1972 Jul  1  0:00:00u
                         0:00:11 - TAI   1973 Jan  1  0:00:00u
                         0:00:35 - TAI   2015 Jul  1  0:00:00u
                         0:00:36 - TAI   2017 Jan  1  0:00:00u
                         0:00:37 - TAI   2020 Jun 28  0:00:00u
                         0:00:37 - N_A

      So the "adjacent ticks" you mention are in fact
      the TAI values 1972-07-01T00:00:09 for UTC = 1972-06-30T23:59:59Z
                 and 1972-07-01T00:00:11 for UTC = 1972-07-01T00:00:00Z.
      Of course, these ticks of TAI are not adjacent: the TAI value
      1972-07-01T00:00:10 in between belongs to the leap second
      UTC = 1972-06-30T23:59:60Z.

      The Zone lines for right/Etc/TAI would give TAI as a function of
      TAI - 10 s, so they would get the constant STDOFF value 0:00:10.
      (And, yes, in this case the STDOFF value after 2020-06-28 is known.)

      That TAI can be considered as a tzdb "timezone" is an observation
      by Steve Allen, if I remember correctly.

      Michael Deckers.

More information about the tz mailing list