[LEAPSECS] Toasting Unix timestamp 1234567890

M. Warner Losh imp at bsdimp.com
Sat Feb 14 11:17:47 EST 2009

In message: <20090214095528.GJ2263 at fysh.org>
Zefram <zefram at fysh.org> writes:

: Magnus Danielson wrote:

: >Thus, the TAI-UTC difference was 4.213170 + (40587-39126) x 0.002592s =

: >8.000082 s.


: Yes. This lets you calculate the number of *TAI* seconds since the

: Unix epoch. There were 63072001.999918 TAI seconds (exactly) in UTC's

: version of 1970 and 1971 together.

I'd phrase these like so:

UTC's 1970 and 1971 together had 63072001.999918 SI seconds (exactly).


The TAI time scale ticked 63072001.999918 SI seconds (exactly), while
UTC ticked 63072000 "seconds" between 00:00:00 1970-01-01 UTC and
00:00:00 1972-01-01 UTC.

Or at least I think that's a way of saying it that's less ambiguous.

: >So depending on which interpretation you choose... I see some 3-4

: >different times occuring. The spread amongst them is about 26 s or so.


: I think it's clear that Unix time has the well-established naive mapping

: to some form of UT. You can pick UT1 or UTC, giving answers that differ

: by a fraction of a second. Anything that secularly counts other than

: 86400 per UT day isn't Unix time: this includes counting either UTC or

: TAI seconds.

Unix's time_t is almost universally implemented these days as one of
the following two formula:

63072000 + SI ticks since 1972 - TAI_UTC_Offset

while a minority of systems with the 'right' time zones try to
implement the following:

63072000 + SI ticks since 1972

but often times the former is often really implemented as:

63072000 + SI ticks since 1972 - TAI_UT_Offset + small_delta

because the leap second file configuration is botched by incompetent
distros or system admins.

I know this isn't the "definition" of time_t, but it is its practical
realization and a way that mathematically expresses the
"simplification of UTC" that nearly everybody does today that igonres
the rubber seconds prior to 1972.

And yes, I do agree that the minority of systems that actually track
UT1 will only differ by some small fraction of a second from UTC.


More information about the LEAPSECS mailing list