unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Achim Gratz <Stromeko@nexgo.de>
To: emacs-devel@gnu.org
Subject: Re: Represent NTP's origin time
Date: Sat, 17 Apr 2021 15:44:28 +0200	[thread overview]
Message-ID: <8735vpyqir.fsf@Rainer.invalid> (raw)
In-Reply-To: 87o8efcqfh.fsf@Rainer.invalid

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




  parent reply	other threads:[~2021-04-17 13:44 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-15  4:00 Represent NTP's origin time Stefan Monnier
2021-04-15  8:06 ` Andreas Schwab
2021-04-15  8:22   ` Gregory Heytings
2021-04-15  8:27 ` Ulrich Mueller
2021-04-15  8:30   ` Eli Zaretskii
2021-04-15 12:40   ` Stefan Monnier
2021-04-15 12:56     ` Andreas Schwab
2021-04-15 13:39       ` Stefan Monnier
2021-04-15 13:41     ` Ulrich Mueller
2021-04-15 13:44       ` Stefan Monnier
2021-04-15 14:06     ` Gregory Heytings
2021-04-15 14:51       ` Stefan Monnier
2021-04-15 19:12 ` Achim Gratz
2021-04-16  7:06   ` tomas
2021-04-17  3:53   ` Richard Stallman
2021-04-17  7:30     ` tomas
2021-04-17 13:44   ` Achim Gratz [this message]
2021-04-17 14:09     ` tomas
2021-04-17 14:23       ` Stefan Monnier
2021-04-17 14:55       ` Achim Gratz
2021-04-17 15:27         ` tomas
2021-04-17 16:20           ` Achim Gratz
2021-04-17 16:54           ` [OFFTOPIC] " Stefan Monnier
2021-04-17 20:00             ` tomas
2021-04-17 20:31               ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8735vpyqir.fsf@Rainer.invalid \
    --to=stromeko@nexgo.de \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).