On 2025-12-29 12:12, Guy Harris wrote:
On Dec 28, 2025, at 6:12 PM, Paul Eggert via tz <[email protected]> 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.

Reply via email to