[tz] Was there a 1971-12-31 23:59:60?

Paul Gilmartin PaulGBoulder at aim.com
Sat Nov 10 05:04:35 UTC 2018


Hello, Judah Levine,

I get unexpected results on Linux with TZ=right/Universal.
I downloaded https://data.iana.org/time-zones/releases/tzdata2018g.tar.gz
to try to find an explanation.  There, I find,

in: leap-seconds.list
    ...
#
#       Updated through IERS Bulletin C56
#       File expires on:  28 June 2019
#
#@      3770668800
#
2272060800      10      # 1 Jan 1972
2287785600      11      # 1 Jul 1972
2303683200      12      # 1 Jan 1973
2335219200      13      # 1 Jan 1974
2366755200      14      # 1 Jan 1975
    ...

I tend to believe this, but in: leapseconds
    ...
# There were no leap seconds before 1972, because the official mechanism
# accounting for the discrepancy between atomic time and the earth's rotation
# did not exist.

# The correction (+ or -) is made at the given time, so lines
# will typically look like:
#       Leap    YEAR    MON     DAY     23:59:60        +       R/S
# or
#       Leap    YEAR    MON     DAY     23:59:59        -       R/S

# If the leap second is Rolling (R) the given time is local time (unused here).
Leap    1972    Jun     30      23:59:60        +       S
Leap    1972    Dec     31      23:59:60        +       S
Leap    1973    Dec     31      23:59:60        +       S
Leap    1974    Dec     31      23:59:60        +       S
    ...
Well, it's consistent with itself.  1971-12-31 23:59:60 is *before*
1972.  But "leap-seconds.list" shows one more leap second that "leapseconds".

I'm confused.

Thanks,
gil



More information about the tz mailing list