On Nov 12, 2020, at 10:02 AM, Paul Gilmartin via tz <tz@iana.org> wrote:
In: ftp://ftp.iana.org/tz/tz-link.html I read: The tz code and data support leap seconds via an optional "right" configuration, ...
Empirically, this seems to assume time_t of TAI-10. This isn't GPS, which I understand to be TAI-19: http://www.bipm.org/utils/en/pdf/time_ann_rep/Time_annual_report_2015/25_utc...
TAI-10 is (accidentally?) the epoch of the IBM z/OS TOD clock.
I find a couple references to "zoneinfo/right" in Makefile and NEWS. Is there more complete documentation of "right" and its rationale elsewhere?
I don't know whether it's documented anywhere, but: "right" is intended to support converting times that are represented as seconds that have elapsed since January 1, 1970, 00:00:00 UTC - as opposed to be represented as "seconds since the Epoch", which means "seconds *except for leap seconds* that have elapsed since January 1, 1970, 00:00:00 UTC" - to year/month/day/hour/minute/second. I.e., that's a counter that started as 0 on January 1, 1970, 00:00:00 UTC, and that increments by 1 every second, rather than getting adjusted to conform to POSIX. gmtime() would convert such a time to UTC, with "second" possibly being > 59.