On 2017-01-02 01:07 PM, Michael.Deckers. via LEAPSECS wrote:
On 2016-12-31 22:39, Brooks Harris quoted a table
from the RFC defining the NTP protocol:
RFC 5905 Figure 4: Interesting Historic NTP Dates shows
+-------------+------------+-----+---------------+------------------+
| Date | MJD | NTP | NTP Timestamp | Epoch |
| | | Era | Era Offset | |
+-------------+------------+-----+---------------+------------------+
| 1 Jan -4712 | -2,400,001 | -49 | 1,795,583,104 | 1st day Julian |
| 1 Jan -1 | -679,306 | -14 | 139,775,744 | 2 BCE |
| 1 Jan 0 | -678,491 | -14 | 171,311,744 | 1 BCE |
| 1 Jan 1 | -678,575 | -14 | 202,939,144 | 1 CE |
| 4 Oct 1582 | -100,851 | -3 | 2,873,647,488 | Last day Julian |
| 15 Oct 1582 | -100,840 | -3 | 2,874,597,888 | First day |
| | | | | Gregorian |
| 31 Dec 1899 | 15019 | -1 | 4,294,880,896 | Last day NTP Era |
| | | | | -1 |
| 1 Jan 1900 | 15020 | 0 | 0 | First day NTP |
| | | | | Era 0 |
| 1 Jan 1970 | 40,587 | 0 | 2,208,988,800 | First day UNIX |
| 1 Jan 1972 | 41,317 | 0 | 2,272,060,800 | First day UTC |
| 31 Dec 1999 | 51,543 | 0 | 3,155,587,200 | Last day 20th |
| | | | | Century |
| 8 Feb 2036 | 64,731 | 1 | 63,104 | First day NTP |
| | | | | Era 1 |
+-------------+------------+-----+---------------+------------------+
Hi Michael,
Just to show that standards (and RFCs) must be read with caution
because they sometimes do not mean what they say,
Yes, there are typos and sometimes hastily or carelessly added clauses,
or through all the SDO procedures mistakes are just not caught.
here are a few
inconsistencies in the table above:
The "fffMJD" entry in the line for "Date 1 Jan 0" should be -678,941
rather than "-678,491".
That typo has been pointed out here on LEASECS before.
Did you expect that the dates "1 Jan -1", "1 Jan 0", "1 Jan 1",
"4 Oct 1582" are meant to be dates in the (proleptic) Gregorian
calendar, while "1 Jan -4712" is meant to be a date in the
Julian calendar?
And of course, the "Last day Julian" should be one day before the
"First day Gregorian" but actually is eleven days earlier.
Ah, I think the table is correct - that's the infamous reset made by the
Gregorian calendar to correct accumulated inaccuracies in the Julian and
also, I believe, counted days at midnight, not noon, as Julian did
(does). This is noted in ISO 8601, 3.2.1 The Gregorian calendar -
"The introduction of the Gregorian calendar included the cancellation of
the accumulated inaccuracies of the
Julian calendar. However, no dates shall be inserted or deleted when
determining dates in the proleptic
Gregorian calendar."
Michael Deckers.
I think one of the great weaknesses in most the timekeeping specs and
the literature in general is that the distinction between YMDhms
representations of (pure) Gregorian calendar and Leap Second compensated
Gregorian calendar is not made.
In the table, all the YMDhms representations are called only "Date".
Those before 1972 are (or, I think, intended to be) Gregorian, while
after 1972 (and probably at) 1972 they are "UTC".
My preferred Leap Second table is
https://hpiers.obspm.fr/eoppc/bul/bulc/Leap_Second_History.dat because
it's the most clear and simplest. In particular, the crucial day values
are given in MJD, which is more specific than an unexplained YMDhms
date representation. Note there that the "Date, day month year"
representation is not explicitly explained, but its clear from context
that its "Leap Second compensated", or "UTC". It would make me more
confident of my interpretation of the table if that were explicitly
explained.
-Brooks
_______________________________________________
LEAPSECS mailing list
LEAPSECS@leapsecond.com
https://pairlist6.pair.net/mailman/listinfo/leapsecs
_______________________________________________
LEAPSECS mailing list
LEAPSECS@leapsecond.com
https://pairlist6.pair.net/mailman/listinfo/leapsecs