[time-nuts] Leap Quirks
M. Warner Losh
imp at bsdimp.com
Sun Jan 4 00:56:53 EST 2009
In message: <4960027E.1000103 at erols.com>
Chuck Harris <cfharris at erols.com> writes:
: Poul-Henning Kamp wrote:
: > In message <495FD637.5030105 at erols.com>, Chuck Harris writes:
: >> Ok, that is news to me. Are you saying that (pulling a number out of
: >> the air) time_t = 21120123 could be followed by 21120123 on a year where
: >> we added a leap second?
: > Apart from the number, that is exactly what happens: The last
: > second of the (UTC) day is recycled twice.
: As far as I remember, and as far as I can tell, what you are saying
: violates both the unix and POSIX definition of time_t.
: So to check, I pulled out both of my K&R editions of "The C programming Language"
: and I did a quick google on time_t, and all of the sources I have found
: concur that time_t is the number of seconds since 1/1/1970 UTC without
: regard to leap seconds.
That's exactly what Poul is saying. Without regard to leap seconds
means that they don't exist and do not count in POSIX. A midnight
time_t % 86400 must == 0, or it isn't POSIX.
: When did this change?
It never was clearly defined before POSIX, and POSIX made at least 4
muddled attempts to define it.
More information about the time-nuts