[tz] tzdata for 2016 leap seconds

Bradley White bww at acm.org
Fri Sep 2 17:31:21 UTC 2016


On Fri, Sep 2, 2016 at 11:47 AM, Howard Hinnant <howard.hinnant at gmail.com>
wrote:

> On Sep 2, 2016, at 11:42 AM, Bradley White <bww at acm.org> wrote:
> >
> > Just to clarify, the leap-second table in the tzdata is only for running
> in "right" mode, where clocks tick through leaps and so don't need any
> indication that leaps happen.
>
> This may be your only use of the leap-second table, but it is not my use.
>
> Here is working code for me:
>
>     #include "chrono_io.h"
>     #include "tz.h"
>     #include <iostream>
>
>     int
>     main()
>     {
>         using namespace date;
>         using namespace std::chrono_literals;
>         auto t0 = to_gps_time(sys_days{2017_y/jan/1} - 500ms);
>         auto t1 = to_gps_time(sys_days{2017_y/jan/1} + 500ms);
>         std::cout << t1 - t0 << '\n';
>     }
>
> This should output:
>
>     2000ms
>
> which indicates the insertion of a leap second into my gps_clock a few
> months from now.  Unfortunately it currently (and incorrectly) outputs:
>
>     1000ms
>

Sure, you may use *a* leap-second table.  But tzdata only includes one to
generate "right" zoneinfo files.

Aside: It would be unfortunate, for any expression X, if ((X + 500ms) - (X
- 500ms)) was not 1000ms.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20160902/f42ab73e/attachment.html>


More information about the tz mailing list