Hi John, John Cowan <co...@ccil.org> writes:
> What is more, there are no TAI<->UTC conversion tables from before > 1961 (when UTC began) and probably never will be. There was heated > debate in the R7RS-small working group, and we finally settled on a > compromise: > > (current-second) [r]eturns an inexact number representing the current > time on the International Atomic Time (TAI) scale. The value 0.0 > represents midnight on January 1, 1970 TAI (equivalent to ten seconds > before midnight Universal Time) and the value 1.0 represents one TAI > second later. Neither high accuracy nor high precision are required; > in particular, returning Coordinated Universal Time plus a suitable > constant might be the best an implementation can do. > > I now see that the "ten seconds" is incorrect, and I am filing an > erratum: the correct figure is 4.2131700 seconds per > <http://maia.usno.navy.mil/ser7/tai-utc.dat>. Actually, the correct TAI-UTC delta on January 1, 1970 TAI is approximately 8 seconds. You are misinterpreting the relevant line from that file: 1968 FEB 1 =JD 2439887.5 TAI-UTC= 4.2131700 S + (MJD - 39126.) X 0.002592 S This means that TAI-UTC = 4.2131700 + (MJD - 39126) * 0.002592, where MJD is the modified julian day of the desired TAI-UTC delta. In this case, the MJD (modified julian day) of midnight UTC January 1, 1970 is 40587, and plugging that into the equation above yields TAI-UTC = 8.000082 seconds. If you are doubtful, see the "Atomic Time and Leap Seconds" graph, which shows a graph of TAI-UTC over the years 1958 to 2017, on the following page: http://jjy.nict.go.jp/mission/page1-e.html Note that between January 1961 and January 1972, the TAI-UTC delta was not an integer, and instead of the discontinuous leap second jumps that we've had since 1972, the two clocks ran at different rates in those years. Mark