Implementability and Time.TimeDiff

Simon Marlow
Mon, 23 Jun 2003 10:44:14 +0100

> On reflection, I think this is too precise information to be
> accessible from a portable library.  In particular, I'm not sure it's
> possible to correctly implement a TAI-based time system on most Linux
> distributions without modification (I was rather shocked to discover
> this...),=20

Oh dear.  Could you explain why it can't be implemented?  What does the
existing libtai do - is it incorrect?

The glibc docs say:

 - Data Type: time_t
     This is the data type used to represent simple time.  Sometimes,
     it also represents an elapsed time.  When interpreted as a
     calendar time value, it represents the number of seconds elapsed
     since 00:00:00 on January 1, 1970, Coordinated Universal Time.
     (This calendar time is sometimes referred to as the "epoch".)
     POSIX requires that this count not include leap seconds, but on
     some systems this count includes leap seconds if you set `TZ' to
     certain values (*note TZ Variable::).

but it doesn't elaborate on which TZ values cause leap seconds to be
included in time_t, so I can imagine that would cause difficulties.