emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Represent NTP's origin time


From: Achim Gratz
Subject: Re: Represent NTP's origin time
Date: Sat, 17 Apr 2021 15:44:28 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Achim Gratz writes:
> Stefan Monnier writes:
>> NTP represents time stamps by counting seconds from January 1 1900, but
>> my Emacs doesn't seem to be able to represent this:
>>
>>     (encode-time (parse-time-string "1902-01-01T00:00-00:00"))
>>     => (-32745 59520)
>>     (encode-time (parse-time-string "1900-01-01T00:00-00:00"))
>>     => (error "Specified time is not representable")
>>
>> Do we have some "standard" workaround?
>
> Get off your 32bit system already?

There have been responses that called this answer "unkind" or "snarky".
It wasn't meant to be, I apologise for the impression that was likely
created by being too brief.  I stand by what I said, though: The
standard workaround is to do whatever you were trying to do on a system
with a 64bit time_t instead.

Indeed that very problem is what drove me off my own 32bit installation
a few years ago and other than the time spent to figure out how to
convert the system without a full re-installation (which probably would
have taken less time, all things considered) I have no regrets about
doing that.

One of the workarounds (or really limp-alongs) that I've used before
that was using the difference of 2,208,988,800 seconds between UNIX and
NTP epoch (as mentioned in another answer already) that is documented in
many places, for instance here:

https://www.eecis.udel.edu/~mills/y2k.html

That works for the majority of cases (in particular all "real" NTPv3
time stamps ever produced) on all systems that I've worked on.  It
doesn't change the fact that dates before the UNIX epoch can not be
represented with an unsigned 32bit time_t (does Emacs still run on any
systems that do this?) and a signed one peters out at
1901-12-13T20:45:52+00:00 when looking back from the epoch.  Outside the
"NTP prime era" you'd have to keep track of the era/epoch seperately and
that's just the start of your troubles then.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




reply via email to

[Prev in Thread] Current Thread [Next in Thread]