On 2025-12-29 12:12, Guy Harris wrote:
On Dec 28, 2025, at 6:12 PM, Paul Eggert via tz <tz@iana.org> wrote:
/usr/share/zoneinfo/America/Los_Angeles /usr/share/zoneinfo-leaps/America/Los_Angeles
and the latter file uses TAI.
"Uses TAI" in what sense?
The non-leap-second versions convert times represented as POSIX-style "seconds since the Epoch", which means "seconds since 1970-01-01 00:00:00 UTC, adjusted such that positive leap seconds aren't counted and additional seconds are added for negative leap seconds", to a local or UTC time corresponding to that value, and convert a "struct tm" corresponding to a local time to a value of that sort that would correspond to it.
The leap-second versions convert times represented as "seconds that have elapsed since 1970-01-01 00:00:00 UTC", perhaps really meaning "... following the introduction of leap seconds" (not sure whether times before the introduction of the leap second would work down to the second).
I'm not seeing whether either of those involve TAI. A clock that keeps TAI, which I guess would mean a clock that, on the first second of 1970-01-01 at the IERS Reference Meridian, would read 00:00:10, right?
Not exactly, as the date was 1972-01-01 not 1970-01-01. From 1961 to 1972 UTC was adjusted in two different ways: mostly via frequency tweaking, but there were also small steps (what I would call "fractional leap seconds"). Although there was "atomic time", TAI in the current sense did not exist yet. The difference between "atomic time" and UTC was a discontinuous piecewise linear function. The "right" code ignores this mess entirely, and simply uses UTC before 1972. Like the "posix" code, it uses the somewhat-fuzzy "UT" for timestamps before UTC was standardized in 1963.