[time-nuts] Leap Quirks

M. Warner Losh imp at bsdimp.com
Sat Jan 3 20:16:14 UTC 2009


This is a minor little pedantic followup from an answer I gave before
to correct a minor little quibble about the historic UTC.  If you are
uninterested, hit 'd' now :)

In message: <m3vdswqmb5.fsf at lugabout.jhcloos.org>
            James Cloos <cloos at jhcloos.com> writes:
: >>>>> "Warner" == M Warner Losh <imp at bsdimp.com> writes:
: 
: Warner> That doesn't match POSIX's mandated behavior...  time_t % 86400 == 0
: Warner> at midnight is an invariant that's violated by the above sequence.  
: 
: By which sequence?
: 
: At every point in time where time_t % 86400 == 0 is true gmtime(2), when
: using no zoneinfo file or when using a posix zoneinfo file, will return
: a struct tm where the time of day is 00:00:00.
: 
: (time_t)1230768024 was 2009-01-01 00:00:00 right/UTC
: (time_t)1230768000 was 2009-01-01 00:00:00 posix/UTC
: 
: and the real 2009-01-01 00:00:00 UTC was exacly 1230768024 si seconds
: after 1970-01-01 00:00:00 UTC.

Except I don't think that 1970-01-01 00:00:00 UTC isn't what you think
it is.  While there have been 24 leap seconds since 1972-01-01 when
the practice started, the divergence between TAI and UTC at 1970-01-01
00:00:00 was more like 8.1s[*] (it was fixed at 10.0 exactly in 1972).
So there really have been an additional 1.9s since then.  So the
number is closer to 1230768025.9s since 1970-01-01 00:00:00 UTC for
the second after the last leap second.

The time before 1972 was when the atomic clocks were run a little slow
to account for the variations in the earth's orbit.  See for example
the table from:

	http://maia.usno.navy.mil/ser7/tai-utc.dat

So what you've done is created a new time scale that is a UTC from
1972 forward, but a simplified form of UTC prior to 1972 that didn't
match what UTC was doing then.  Yet another hazard of high precision
time keeping that few people get right (to pound on my leap seconds
are hard drum again).  An understandable simplification, to be true,
and one that's often made...

Warner

[*] I didn't do the math today, and the 8.1s figure is from my memory
only.  Someone with more time on their hands than I can compute the
exact offset...



More information about the time-nuts mailing list