[time-nuts] June 30 2015 leap second

Tim Shoppa tshoppa at gmail.com
Wed Jan 7 09:04:04 EST 2015

I'm not sure there's any computer time package that correctly disambiguates
23:59:59 vs 23:59:60 in UTC timestamps in a general purpose way. Some
software simply rejects 23:59:60 UTC as invalid, some will quietly map it
to 23:59:59 effectively making those two seconds impossible to distinguish.

There are important systems in the world, those that genuinely have to
distinguish between those two seconds, that do all timekeeping in TAI or
GPS timescales instead of UTC. I think the Olsen timezone database/library
does support TAI. I don't know if the Olsen timzone library supports GPS.

V.P., since you mention Perl and leap seconds, I'd like to point out that
there's a very useful Perl library for computing delta times around
leapsecond jumps:

This particular library is useful if you need to know the correct delta
time between UTC timestamps but have chosen to ignore the ambiguity problem
of correctly marking the leapsecond itself.

The "newest announced leap second" is not in the table of leapseconds built
into the code yet, but it's a simple matter to add it (cut and paste from
the IPERS).


On Tue, Jan 6, 2015 at 4:01 PM, d0ct0r <time at patoka.org> wrote:

> Hello,
> As I am in the process of creation of my own Nixie clocks. And it probably
> good time frame to clarify one thing about leap seconds. In my project I am
> using GPS module as an option to have current UTC time and also to have
> 1PPS signal to do auto-adjustment for external RTC module. The question is
> how usually GPS modules handle leap seconds ? Is it satelates who send UTC
> time to GPS module or GPS module has firmware with leap second information
> hard-coded ?
> The same question is for UNIX epoch time. How computers knows if it is
> necessary to add leap seconds ? Lets say I am using very simple script to
> calculate UNIX time for specified date:
> ========================================================
> #!/usr/bin/perl
> use Time::Local;
> my ($d, $m, $y);
> my $time;
> @myYears = ('01/06/2000', '01/06/2015', '01/06/2038', '01/06/3000');
> foreach (@myYears) {
>         ($d, $m, $y) = split '/', $_;
>         $time = timelocal(0,0,0,$d,$m-1,$y);
>         printf "%ld\n\r", $time;
> }
> ======================================================
> It will produce the following output:
> 959832000
> 1433131200
> 2158977600
> 32516740800
> I am not sure if its take leap second consideration. Most likely not. And
> that means its only accurate for the present and pas time. Right ? For my
> clock I already implement the function for the leap second and I am able to
> add/remove number of seconds from the time I receiving from GPS or any
> other source. But it will be more inetersting if clock could do it
> "automagically" and shows me that famous "60" number without human
> interaction. Any advise for this ? Thanks !
> Regards,
> V.P.
> On , Tom Van Baak wrote:
>> Just announced: there will be a positive leap second at the end of
>> June 30 2015 UTC (that's Wednesday July 1st for most of the world).
>> As usual we time nuts will have a leap second party -- where we
>> capture and share the magic hh:59:60 display on as many different
>> clocks and instruments as possible.
>> /tvb
>> More info:
>> ftp://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat
>> http://hpiers.obspm.fr/eop-pc/
>> And for those of you who want to know how long each day really is:
>> ftp://hpiers.obspm.fr/iers/bul/bulb_new/bulletinb.dat
>> _______________________________________________
>> time-nuts mailing list -- time-nuts at febo.com
>> To unsubscribe, go to https://www.febo.com/cgi-bin/
>> mailman/listinfo/time-nuts
>> and follow the instructions there.
> --
> WBW,
> V.P.
> _______________________________________________
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to https://www.febo.com/cgi-bin/
> mailman/listinfo/time-nuts
> and follow the instructions there.

More information about the time-nuts mailing list