[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