Markus Kuhn scripsit:
> Unix timestamps have always been meant to be an encoding of a
> best-effort approximation of UTC.
Unix is in fact older than UTC.
> They have always counted the non-leap
> seconds since 1970-01-01.
The Posix interpretation is only a few years old, and a break with Unix
history. Before that, time_t ticked SI seconds since the epoch (i.e.
1970-01-01:00:00:00 GMT = 1970-01-01:00:00:10 TAI). The time(2) man
page in the Sixth Edition (unchanged in the Seventh) of Research
Unix says:
.I Time
returns the time since 00:00:00 GMT, Jan. 1, 1970, measured
in seconds.
IOW, it is a count of elapsed time since a certain moment, measured in
SI seconds, and not an encoding of anything.
Even today, you can install the ADO (and probably GNU) packages in
either of two ways: "posix", in which there are no leap seconds and
time_t's get the POSIX interpretation you reference; and "right", in
which there are leap seconds and time_t is a count of seconds.
Try setting your TZ to "right/<whatever>" and see what you get.
--
You escaped them by the will-death John Cowan
and the Way of the Black Wheel. jcowan_at_reutershealth.com
I could not. --Great-Souled Sam http://www.ccil.org/~cowan
Received on Thu Jan 30 2003 - 05:01:47 PST