Leap second: Difference between revisions

Content deleted Content added
Undid revision 1235292652 by 2.196.149.168 (talk). Undo change to uncommon phrase.
m unpiped links using script
Line 201:
The scheduling of leap seconds was initially delegated to the [[Bureau International de l'Heure]] (BIH), but passed to the International Earth Rotation and Reference Systems Service (IERS) on 1 January 1988. IERS usually decides to apply a leap second whenever the difference between UTC and UT1 approaches 0.6 s, in order to keep the difference between UTC and UT1 from exceeding 0.9 s.
 
The UTC standard allows leap seconds to be applied at the end of any UTC month, with first preference to June and December and second preference to March and September. {{As of|May 2023}}, all of them have been inserted at the end of either 30 June or 31 December. IERS publishes announcements every six months, whether leap seconds are to occur or not, in [http://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat its "Bulletin C"]. Such announcements are typically published well in advance of each possible leap second date – usually in early January for 30 June and in early July for 31 December.<ref name="Bulletin C 36">{{cite web|last=Gambis|first=Daniel|title=Bulletin C 36|publisher=[[International Earth Rotation and Reference Systems Service|IERS EOP PC]], [[Paris Observatory|Observatoire de Paris]]|___location=Paris|date=4 July 2008|url=http://tycho.usno.navy.mil/bulletinc2008.html|access-date=18 April 2010|url-status=live|archive-url=https://web.archive.org/web/20091006221408/http://tycho.usno.navy.mil/bulletinc2008.html|archive-date=6 October 2009}}</ref><ref>{{Cite web|url=http://www.livescience.com/strangenews/081208-leap-second.html|title=2008 Will Be Just a Second Longer|author=Andrea Thompson|access-date=29 December 2008|publisher=Live Science|date=8 December 2008|url-status=live|archive-url=https://web.archive.org/web/20081212222023/http://www.livescience.com/strangenews/081208-leap-second.html|archive-date=12 December 2008}}</ref> Some [[time signal]] broadcasts give voice announcements of an impending leap second.
<!--
{| style="float:left;"
Line 213:
Between 1972 and 2020, a leap second has been inserted about every 21 months, on average. However, the spacing is quite irregular and apparently increasing: there were no leap seconds in the six-year interval between 1 January 1999 and 31 December 31, 2004 but there were nine leap seconds in the eight years 1972–1979. Since the introduction of leap seconds, 1972 has been the longest year on record: 366 days and two seconds.
 
Unlike [[leap day]]s, which begin after 28 February, 23:59:59 local time,{{efn|Only the [[Gregorian calendar]]'s leap days begin after 28 February. The leap days of other calendars begin at different local times in their own years ([[Ethiopian calendar]], [[Iranian calendars]], [[Indian national calendar]], etc.).}} UTC leap seconds occur simultaneously worldwide; for example, the leap second on 31 December 2005, 23:59:60 UTC was 31 December 2005, 18:59:60 (6:59:60 p.m.) in [[North American Eastern Standard Time Zone|U.S. Eastern Standard Time]] and 1 January 2006, 08:59:60 (a.m.) in [[Japan Standard Time]].
 
=== Process ===
Line 278:
 
===Missing leap seconds announcement===
Although [[International Bureau of Weights and Measures|BIPM]] announces a leap second 6 months in advance, most time distribution systems ([[SNTP]], [[IRIG-B]], [[Precision Time Protocol|PTP]]) announce leap seconds at most 12 hours in advance,{{citation needed|date=October 2019}}<ref>{{Cite tech report |title=A Resilient Architecture for the Realization and Distribution of Coordinated Universal Time to Critical Infrastructure Systems in the United States |url=https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=933488 |date=November 2021 |doi=10.6028/NIST.TN.2187|doi-access=free }}</ref> sometimes only in the last minute and some even not at all ([[DNP3]]).{{citation needed|date=October 2019}}
 
===Implementation differences===
Line 287:
 
===Binary representation of the leap second===
Most computer operating systems and most time distribution systems represent time with a binary counter indicating the number of seconds elapsed since an arbitrary [[Epoch (reference date)|epoch]]; for instance, since {{nowrap|1970-01-01}} 00:00:00 in POSIX machines or since {{nowrap|1900-01-01}} 00:00:00 in NTP. This counter does not count positive leap seconds, and has no indicator that a leap second has been inserted, therefore two seconds in sequence will have the same counter value. Some computer operating systems, in particular Linux, assign to the leap second the counter value of the preceding, 23:59:59 second ({{nowrap|59–59–0}} sequence), while other computers (and the IRIG-B time distribution) assign to the leap second the counter value of the next, 00:00:00 second ({{nowrap|59–0–0}} sequence).{{citation needed|date=October 2019}} Since there is no standard governing this sequence, the timestamp of values sampled at exactly the same time can vary by one second. This may explain flaws in time-critical systems that rely on timestamped values.<ref>{{Cite journal |last1=Benzler |first1=Justus |last2=Clark |first2=Samuel J. |date=30 March 2005 |title=Toward a Unified Timestamp with explicit precision |journal=[[Demographic Research (journal)|Demographic Research]] |volume=12 |issue=6 |pages=107–140 |doi=10.4054/DemRes.2005.12.6 |issn=1435-9871 |pmc=2854819 |pmid=20396403}}</ref>
 
===Other reported software problems associated with the leap second===
Line 295:
* Older Trimble GPS receivers had a software flaw that would insert a leap second immediately after the [[List of GPS satellites|GPS constellation]] started broadcasting the next leap second insertion time (some months in advance of the actual leap second), rather than waiting for the next leap second to happen. This left the receiver's time off by a second in the interim.<ref>{{cite web|url=http://www.guralp.com/howtos/leap-second-problem-with-older-gps-receivers.shtml|title=Leap-second problem with older GPS receivers|date=19 November 2014|url-status=live|archive-url=https://web.archive.org/web/20141129055128/http://www.guralp.com/howtos/leap-second-problem-with-older-gps-receivers.shtml|archive-date=29 November 2014}}</ref><ref>{{cite web|url=http://www.spirent.com/Blogs/Positioning/2015/May/How_Leap_Seconds_Can_Interfere_with_GNSS_Receivers|title=How Leap Seconds Can Interfere with GNSS Receivers|date=13 May 2015|url-status=live|archive-url=https://web.archive.org/web/20160306014132/http://www.spirent.com/Blogs/Positioning/2015/May/How_Leap_Seconds_Can_Interfere_with_GNSS_Receivers|archive-date=6 March 2016}}</ref>
* Older Datum Tymeserve 2100 GPS receivers and Symmetricom Tymeserve 2100 receivers apply a leap second as soon as the a leap second notification is received, instead of waiting for the correct date. The manufacturers no longer supports these models and no corrected software is available. A workaround has been described and tested, but if the GPS system rebroadcasts the announcement, or the unit is powered off, the problem will occur again.<ref>{{cite mailing list|url=http://permalink.gmane.org/gmane.comp.time.nuts/43942|title=Symmetricom TymServe 2100-GPS currently fails with GPS offset|mailing-list=time-nuts|url-status=live|archive-url=https://web.archive.org/web/20150217202809/http://permalink.gmane.org/gmane.comp.time.nuts/43942|archive-date=17 February 2015}}</ref>
* Four different brands of navigational receivers that use data from [[BeiDou Navigation Satellite System|BeiDou]] satellites were found to implement leap seconds one day early.<ref>{{cite web |date=3 March 2015 |title=BeiDou Numbering Presents Leap-Second Issue |url=https://www.gpsworld.com/beidou-numbering-presents-leap-second-issue/ |publisher=GPS World}}</ref> This was traced to a bug related to how the BeiDou protocol numbers the days of the week.
 
Several software vendors have distributed software that has not properly functioned with the concept of leap seconds:
Line 307:
* In 2015, interruptions occurred with [[Twitter]], [[Instagram]], [[Pinterest]], [[Netflix]], [[Amazon (company)|Amazon]], and [[Apple Inc|Apple's]] music streaming series [[Beats 1]].<ref>{{cite news |author=Sarah Knapton |date=1 July 2015 |title=Leap Second confuses Twitter and Android |newspaper=[[The Daily Telegraph]] |url=https://www.telegraph.co.uk/news/science/science-news/11710148/Leap-Second-confuses-Twitter-and-Android.html |url-status=live |archive-url=https://web.archive.org/web/20151006002636/http://www.telegraph.co.uk/news/science/science-news/11710148/Leap-Second-confuses-Twitter-and-Android.html |archive-date=6 October 2015}}</ref>
* Leap second software bugs in Linux reportedly affected the [[Amadeus Altéa]] airlines reservation system, used by Qantas and [[Virgin Australia]], in 2015.<ref>{{Cite web |last=Clarke |first=Gavin |date=8 August 2016 |title=Power cut crashes Delta's worldwide flight update systems |url=https://www.theregister.co.uk/2016/08/08/computer_fault_takes_down_delta/ |url-status=live |archive-url=https://web.archive.org/web/20170104002416/http://www.theregister.co.uk/2016/08/08/computer_fault_takes_down_delta/ |archive-date=4 January 2017 |access-date=3 January 2017 |website=[[The Register]]}}</ref>
* [[Cloudflare]] was affected by a leap second software bug. Its [[DNS]] resolver implementation incorrectly calculated a negative number when subtracting two timestamps obtained from the [[Go (programming language)|Go programming language]]'s <code>time.Now()</code>function, which then used only a [[real-time clock]] source.<ref>{{cite web |date=1 January 2017 |title=How and why the leap second affected Cloudflare DNS |url=https://blog.cloudflare.com/how-and-why-the-leap-second-affected-cloudflare-dns/ |url-status=live |archive-url=https://web.archive.org/web/20170102112428/https://blog.cloudflare.com/how-and-why-the-leap-second-affected-cloudflare-dns/ |archive-date=2 January 2017 |publisher=Cloudflare}}</ref> This could have been avoided by using a monotonic clock source, which has since been added to Go 1.9.<ref>{{cite web |title=#12914 runtime: time: expose monotonic clock source |url=https://github.com/golang/go/issues/12914 |url-status=live |archive-url=https://web.archive.org/web/20170320012113/https://github.com/golang/go/issues/12914 |archive-date=20 March 2017 |access-date=5 January 2017 |website=GitHub}}</ref>
* The [[Intercontinental Exchange]], parent body to 7 clearing houses and 11 stock exchanges including the [[New York Stock Exchange]], chose to cease operations for 61 minutes at the time of the 30 June 2015, leap second.<ref>{{cite web|url=https://www.theice.com/leap-second|title=ICE Market Update – Leap Second Impact|publisher=[[Intercontinental Exchange]]|url-status=dead|archive-url=https://web.archive.org/web/20150505061854/https://www.theice.com/leap-second|archive-date=5 May 2015}}</ref>