Portable general timestamp format, not 2038-limited

Paul Rubin http
Mon Jun 25 21:46:25 EDT 2007


Martin Gregorie <martin at see.sig.for.address> writes:
> >> pretend the leap seconds never happened, just as Java does.
> > 	Which leaves you about 30 seconds out by now - smelly.
> Easy solution: always read Zulu time directly from a recognized
> real-time clock

That's no good, it doesn't let you accurately compute the difference
between timestamps.  Nixon resigned the US presidency at noon EDT
(1800 UTC, I think) on August 9, 1974.  You cannot accurately compute
the number of seconds between Nixon's resignation and 1800 UTC today,
unless you take into account the leap seconds have been occurred
between then and now.  If you want a precise timestamp and you don't
want to deal with leap seconds, TAI is one approach.  There is
currently some political pressure to get rid of leap seconds to ease
computer synchronization, but (at least some of) the astronomy
community is opposed; see

  http://en.wikipedia.org/wiki/Leap_second
  http://www.ucolick.org/~sla/leapsecs/

TAI really does seem like the most absolute--if you are a user in
orbit or on Mars, then UTC timestamps will seem pretty meaningless and
artificial.

> By "recognized real-time clock) that I mean an atomic clock and
> distribution network such as GPS or (in the UK or Germany) an MSF
> low frequency radio broadcast. NTP using tier-1 sources may do the
> job too. The clock interface may need to be JINI because most
> suitable receivers have serial interfaces.

No do NOT use stratum 1 sources for something like this.  They are
reference clocks for stratum 2 servers and are overloaded from being
used unnecessarily for other purposes.  You are fine using GPS or one
of the many public lower stratum servers for just about any purpose.
See:

  http://support.ntp.org/bin/view/Servers/RulesOfEngagement

> This is certainly accurate for financial transactions: the UK CHAPS
> inter-bank network has a Rugby MSF receiver in each bank's gateway
> computer and uses that for all timestamps.

That is much more sensible than using a stratum 1 server.



More information about the Python-list mailing list