cvs commit: src/sys/sys _timeval.h src/sys/fs/procfs procfs_status.c src/libexec/bootpd bootpd.c src/sys/dev/acpica/Osd OsdSynch.c src/sys/dev/firewire sbp.c

M. Warner Losh imp at bsdimp.com
Tue Dec 27 13:50:40 PST 2005


In message: <47758.1135718178 at critter.freebsd.dk>
            "Poul-Henning Kamp" <phk at phk.freebsd.dk> writes:
: Imagine if the epoch for 64 bit time_t was set to coincide with Julian
: Day zero using the rather naiive POSIX math:
: 	N [days] * 86400 [seconds/day]
: Converting from an old time_t to the new one would entail adding an
: constant offset, no big deal.

I'd rather see it as Modified Julian Day, since the MJD has an epoch
that starts at midnight, while JD starts at noon.  This is a change
since the current Unix Epoch starts at midnight.  MJD = JD - 2400000.5
It is 24537312.4 JD and 53731.9 MJD, more or less, UTC as I write
this.

Either epoch is fine for the range of the 64-bit number.  In fact, you
can encode about a size hundred thousand range of years (+- 292271
years) of microseconds as a 64-bit number.  Nano seconds give only
about 300 years.  The microsecond conversion would be also easy and
trivial....

Warner

P.S. http://tycho.usno.navy.mil/mjd.html is a good reference for mjd
if you're unfamiliar with what phk and I are talking about.


More information about the cvs-src mailing list