[LEAPSECS] Time math libraries, UTC to TAI

Stephen Scott stephenscott at videotron.ca
Wed Dec 28 14:02:25 EST 2016


Hello Brooks;


On 2016-12-28 12:33, Brooks Harris wrote:
>
>
> On 2016-12-26 08:28 PM, Tony Finch wrote:
>> Brooks Harris<brooks at edlmax.com>  wrote:
>>> The time_t 1970 epoch is fixed with respect to internal POSIX calculations,
>>> but it "slips" a second with respect to UTC with each (positive) Leap Second
>>> introduction because "23:59:60" goes missing.
>> "Slip" makes it sound like a retrospective change in the relationship
>> between UTC and time_t, with the scales sliding against each other, but it
>> doesn't change - there's a fixed relationship between UTC second labels
>> and time_t second labels, which remains the same however many leap seconds
>> there are. In fact time_t is defined in terms of that relationship, and
>> "seconds since the epoch" is just a simplified gloss.
> Hi Tony,
>
> "Slip" might not be the best term, but the effective alignment between 
> time_t and UTC changes with each Leap Second.
>
> POSIX "the epoch" origin, time_t = zero, is said to be coincident with 
> "1970-01-01 00:00:00 UTC".
>
> The YMDhms count progression across the first Leap Second 
> (1972-06-30T23:59:60 (UTC)) as yielded by POSIX gmtime() is expected 
> to be
>
> time_t gmtime()                UTC
> 78796799 = 1972-06-30 23:59:59 = 1972-06-30T23:59:59 (UTC)
> 78796800 = 1972-07-01 00:00:00 = 1972-06-30T23:59:60 (UTC) << Leap Second
> 78796800 = 1972-07-01 00:00:00 = 1972-07-01T00:00:00 (UTC) << time_t reset
> 78796801 = 1972-07-01 00:00:01 = 1972-07-01T00:00:01 (UTC)
>
> time_t must be reset after the Leap Second to maintain the alignment 
> of the POSIX and UTC YMDhms representations. In effect the time_t 
> origin has become coincident with "1972-01-01 00:00:00 UTC plus one 
> Leap Second", or "1972-01-01 00:00:01 UTC". As David Mills says "... 
> In effect, a new timescale is reestablished after each new leap second."
>
> The NTP Timescale and Leap Seconds
> 3. How NTP and POSIX Reckon with Leap Seconds
> https://www.eecis.udel.edu/~mills/leap.html
>
> [ As discussed on the list many times, POSIX's use of the term "UTC" 
> in describing "the epoch" as "1970-01-01 00:00:00 UTC" is troublesome 
> because it lies before 1972-01-01T00:00:00 (UTC) in the "rubber band 
> era", the development period of TAI and UTC when the TAI-UTC offset 
> was not integral seconds. The name of the timescale and the TAI-UTC 
> values during that span is somewhat controversial. In any event, as a 
> practical matter, the origin of POSIX "the epoch" is usually taken to 
> mean 63072000 seconds 
That should be 63072010 seconds (730 days x 86400 plus 10 seconds)
-Stephen
> before 1972-01-01 00:00:10 (TAI) = 1972-01-01T00:00:00 (UTC) ].
>
>
> -Brooks
>
>> Tony.
>
>
>
> _______________________________________________
> LEAPSECS mailing list
> LEAPSECS at leapsecond.com
> https://pairlist6.pair.net/mailman/listinfo/leapsecs



---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist6.pair.net/pipermail/leapsecs/attachments/20161228/85c32cf6/attachment.html>


More information about the LEAPSECS mailing list