On 04/04/2017 09:02 AM, Chris Woodbury via tz wrote:
I reviewed the C code and, it seems to me, the transaction added should actually be for the second before, 23:59:58, as the transaction itself causes 23:59:59 to be skippedaltogether.
Perhaps Arthur David Olson or Bradley White can take a look at this, as they're the leap second gurus for tz. I've never tested negative leap seconds.
Also, I've an AWK script that uses the IERS file Leap_Seconds.dat rather than the NIST leap-seconds.listfile.
Although that would be a better technical solution, in the past we've shied away from it because the IERS file is copyrighted and we and we and our downstream users don't clearly have permissions to copy and redistribute it.
USNO MAIA also has straight list of leap-seconds in a different format. <http://maia.usno.navy.mil/ser7/leapsec.dat>
Thanks, I was not aware of this file. It is public-domain, so perhaps we could use it. Is it updated in a timely fashion when new IERS bulletins are published? And is that web server highly available? These have been sticking points for the NIST file.
Another good, comprehensive article is "The leap second: its history and possible future" by R.A. Nelson, et al, from Metrogia Vol 38, pp. 509-529 (2001). PDF available (with permission) at:
<https://www.cl.cam.ac.uk/~mgk25/time/metrologia-leapsecond.pdf>
Yes, we link to that in tz-link.htm.