nanog mailing list archives

RE: Leap Second planned for 2016


From: "Keith Medcalf" <kmedcalf () dessus com>
Date: Sat, 09 Jul 2016 15:37:36 -0600


POSIX (Unix) (normal) time does not have leap seconds.
Every POSIX (Unix) (normal) minute has exactly 60 seconds.
Every POSIX (Unix) (normal) hour has exactly 60 minutes.
Every POSIX (Unix) (normal) day has exactly 24 hours.
Every POSIX (Unix) (normal) year has 365 days, unless it is a leap year, in which case it has exactly 366 days.

The POSIX time is the number of seconds (or parts thereof) that has passed since midnight, 1 January 1970 GMT.  The 
time scale is UT1.  Outside of very specialized scientific applications, EVERY computer system everywhere uses POSIX 
time and does time/date calculations based on POSIX time (UT1).

UTC time has leap seconds.  This is because UTC is a "different" time-scale than the UT1 timescale on which POSIX/Unix 
time is based.  UTC proceeds at a different "rate" from UT1 and so, from time to time, UTC time must be adjusted to 
keep it in sync with POSIX/Unix (normal) time.

-----Original Message-----
From: NANOG [mailto:nanog-bounces () nanog org] On Behalf Of
Valdis.Kletnieks () vt edu
Sent: Saturday, 9 July, 2016 15:12
To: Saku Ytti
Cc: NANOG list
Subject: Re: Leap Second planned for 2016

On Sat, 09 Jul 2016 12:14:03 +0300, Saku Ytti said:

Check the implementation on your PC. This is why code is broken and
people don't even know it's broken. You have to use monotonic time to
measure passage of time, which is not particularly easy to do
portable, in some languages.

It doesn't help that the POSIX standard doesn't represent leap seconds
anyplace, so any elapsed time calculation that crosses a leap second
is guaranteed to be wrong....





Current thread: