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.                 [EMAIL PROTECTED]
I could not.  --Great-Souled Sam                http://www.ccil.org/~cowan

Reply via email to