19488993bSBrad Davis# 29488993bSBrad Davis# In the following text, the symbol '#' introduces 39488993bSBrad Davis# a comment, which continues from that symbol until 49488993bSBrad Davis# the end of the line. A plain comment line has a 59488993bSBrad Davis# whitespace character following the comment indicator. 69488993bSBrad Davis# There are also special comment lines defined below. 79488993bSBrad Davis# A special comment will always have a non-whitespace 89488993bSBrad Davis# character in column 2. 99488993bSBrad Davis# 109488993bSBrad Davis# A blank line should be ignored. 119488993bSBrad Davis# 129488993bSBrad Davis# The following table shows the corrections that must 139488993bSBrad Davis# be applied to compute International Atomic Time (TAI) 149488993bSBrad Davis# from the Coordinated Universal Time (UTC) values that 159488993bSBrad Davis# are transmitted by almost all time services. 169488993bSBrad Davis# 179488993bSBrad Davis# The first column shows an epoch as a number of seconds 18*65ec2ae3SXin LI# since 1 January 1900, 00:00:00 (1900.0 is also used to 19*65ec2ae3SXin LI# indicate the same epoch.) Both of these time stamp formats 20*65ec2ae3SXin LI# ignore the complexities of the time scales that were 21*65ec2ae3SXin LI# used before the current definition of UTC at the start 22*65ec2ae3SXin LI# of 1972. (See note 3 below.) 23*65ec2ae3SXin LI# The second column shows the number of seconds that 24*65ec2ae3SXin LI# must be added to UTC to compute TAI for any timestamp 25*65ec2ae3SXin LI# at or after that epoch. The value on each line is 26*65ec2ae3SXin LI# valid from the indicated initial instant until the 27*65ec2ae3SXin LI# epoch given on the next one or indefinitely into the 28*65ec2ae3SXin LI# future if there is no next line. 299488993bSBrad Davis# (The comment on each line shows the representation of 309488993bSBrad Davis# the corresponding initial epoch in the usual 319488993bSBrad Davis# day-month-year format. The epoch always begins at 329488993bSBrad Davis# 00:00:00 UTC on the indicated day. See Note 5 below.) 339488993bSBrad Davis# 349488993bSBrad Davis# Important notes: 359488993bSBrad Davis# 369488993bSBrad Davis# 1. Coordinated Universal Time (UTC) is often referred to 379488993bSBrad Davis# as Greenwich Mean Time (GMT). The GMT time scale is no 389488993bSBrad Davis# longer used, and the use of GMT to designate UTC is 399488993bSBrad Davis# discouraged. 409488993bSBrad Davis# 419488993bSBrad Davis# 2. The UTC time scale is realized by many national 429488993bSBrad Davis# laboratories and timing centers. Each laboratory 439488993bSBrad Davis# identifies its realization with its name: Thus 449488993bSBrad Davis# UTC(NIST), UTC(USNO), etc. The differences among 459488993bSBrad Davis# these different realizations are typically on the 469488993bSBrad Davis# order of a few nanoseconds (i.e., 0.000 000 00x s) 479488993bSBrad Davis# and can be ignored for many purposes. These differences 489488993bSBrad Davis# are tabulated in Circular T, which is published monthly 499488993bSBrad Davis# by the International Bureau of Weights and Measures 50*65ec2ae3SXin LI# (BIPM). See www.bipm.org for more information. 519488993bSBrad Davis# 52*65ec2ae3SXin LI# 3. The current definition of the relationship between UTC 539488993bSBrad Davis# and TAI dates from 1 January 1972. A number of different 54*65ec2ae3SXin LI# time scales were in use before that epoch, and it can be 559488993bSBrad Davis# quite difficult to compute precise timestamps and time 569488993bSBrad Davis# intervals in those "prehistoric" days. For more information, 579488993bSBrad Davis# consult: 589488993bSBrad Davis# 599488993bSBrad Davis# The Explanatory Supplement to the Astronomical 609488993bSBrad Davis# Ephemeris. 619488993bSBrad Davis# or 629488993bSBrad Davis# Terry Quinn, "The BIPM and the Accurate Measurement 639488993bSBrad Davis# of Time," Proc. of the IEEE, Vol. 79, pp. 894-905, 64*65ec2ae3SXin LI# July, 1991. <http://dx.doi.org/10.1109/5.84965> 65*65ec2ae3SXin LI# reprinted in: 66*65ec2ae3SXin LI# Christine Hackman and Donald B Sullivan (eds.) 67*65ec2ae3SXin LI# Time and Frequency Measurement 68*65ec2ae3SXin LI# American Association of Physics Teachers (1996) 69*65ec2ae3SXin LI# <http://tf.nist.gov/general/pdf/1168.pdf>, pp. 75-86 709488993bSBrad Davis# 71*65ec2ae3SXin LI# 4. The decision to insert a leap second into UTC is currently 72*65ec2ae3SXin LI# the responsibility of the International Earth Rotation and 73*65ec2ae3SXin LI# Reference Systems Service. (The name was changed from the 74*65ec2ae3SXin LI# International Earth Rotation Service, but the acronym IERS 75*65ec2ae3SXin LI# is still used.) 769488993bSBrad Davis# 77*65ec2ae3SXin LI# Leap seconds are announced by the IERS in its Bulletin C. 789488993bSBrad Davis# 79*65ec2ae3SXin LI# See www.iers.org for more details. 809488993bSBrad Davis# 81*65ec2ae3SXin LI# Every national laboratory and timing center uses the 82*65ec2ae3SXin LI# data from the BIPM and the IERS to construct UTC(lab), 83*65ec2ae3SXin LI# their local realization of UTC. 849488993bSBrad Davis# 859488993bSBrad Davis# Although the definition also includes the possibility 869488993bSBrad Davis# of dropping seconds ("negative" leap seconds), this has 879488993bSBrad Davis# never been done and is unlikely to be necessary in the 889488993bSBrad Davis# foreseeable future. 899488993bSBrad Davis# 909488993bSBrad Davis# 5. If your system keeps time as the number of seconds since 919488993bSBrad Davis# some epoch (e.g., NTP timestamps), then the algorithm for 929488993bSBrad Davis# assigning a UTC time stamp to an event that happens during a positive 939488993bSBrad Davis# leap second is not well defined. The official name of that leap 949488993bSBrad Davis# second is 23:59:60, but there is no way of representing that time 959488993bSBrad Davis# in these systems. 969488993bSBrad Davis# Many systems of this type effectively stop the system clock for 979488993bSBrad Davis# one second during the leap second and use a time that is equivalent 989488993bSBrad Davis# to 23:59:59 UTC twice. For these systems, the corresponding TAI 999488993bSBrad Davis# timestamp would be obtained by advancing to the next entry in the 1009488993bSBrad Davis# following table when the time equivalent to 23:59:59 UTC 1019488993bSBrad Davis# is used for the second time. Thus the leap second which 1029488993bSBrad Davis# occurred on 30 June 1972 at 23:59:59 UTC would have TAI 1039488993bSBrad Davis# timestamps computed as follows: 1049488993bSBrad Davis# 1059488993bSBrad Davis# ... 1069488993bSBrad Davis# 30 June 1972 23:59:59 (2287785599, first time): TAI= UTC + 10 seconds 1079488993bSBrad Davis# 30 June 1972 23:59:60 (2287785599,second time): TAI= UTC + 11 seconds 1089488993bSBrad Davis# 1 July 1972 00:00:00 (2287785600) TAI= UTC + 11 seconds 1099488993bSBrad Davis# ... 1109488993bSBrad Davis# 1119488993bSBrad Davis# If your system realizes the leap second by repeating 00:00:00 UTC twice 1129488993bSBrad Davis# (this is possible but not usual), then the advance to the next entry 113*65ec2ae3SXin LI# in the table must occur the second time that a time equivalent to 1149488993bSBrad Davis# 00:00:00 UTC is used. Thus, using the same example as above: 1159488993bSBrad Davis# 1169488993bSBrad Davis# ... 1179488993bSBrad Davis# 30 June 1972 23:59:59 (2287785599): TAI= UTC + 10 seconds 1189488993bSBrad Davis# 30 June 1972 23:59:60 (2287785600, first time): TAI= UTC + 10 seconds 1199488993bSBrad Davis# 1 July 1972 00:00:00 (2287785600,second time): TAI= UTC + 11 seconds 1209488993bSBrad Davis# ... 1219488993bSBrad Davis# 1229488993bSBrad Davis# in both cases the use of timestamps based on TAI produces a smooth 123*65ec2ae3SXin LI# time scale with no discontinuity in the time interval. However, 124*65ec2ae3SXin LI# although the long-term behavior of the time scale is correct in both 125*65ec2ae3SXin LI# methods, the second method is technically not correct because it adds 126*65ec2ae3SXin LI# the extra second to the wrong day. 1279488993bSBrad Davis# 1289488993bSBrad Davis# This complexity would not be needed for negative leap seconds (if they 1299488993bSBrad Davis# are ever used). The UTC time would skip 23:59:59 and advance from 1309488993bSBrad Davis# 23:59:58 to 00:00:00 in that case. The TAI offset would decrease by 1319488993bSBrad Davis# 1 second at the same instant. This is a much easier situation to deal 1329488993bSBrad Davis# with, since the difficulty of unambiguously representing the epoch 1339488993bSBrad Davis# during the leap second does not arise. 1349488993bSBrad Davis# 135*65ec2ae3SXin LI# Some systems implement leap seconds by amortizing the leap second 136*65ec2ae3SXin LI# over the last few minutes of the day. The frequency of the local 137*65ec2ae3SXin LI# clock is decreased (or increased) to realize the positive (or 138*65ec2ae3SXin LI# negative) leap second. This method removes the time step described 139*65ec2ae3SXin LI# above. Although the long-term behavior of the time scale is correct 140*65ec2ae3SXin LI# in this case, this method introduces an error during the adjustment 141*65ec2ae3SXin LI# period both in time and in frequency with respect to the official 142*65ec2ae3SXin LI# definition of UTC. 1439488993bSBrad Davis# 144*65ec2ae3SXin LI# Questions or comments to: 145*65ec2ae3SXin LI# Judah Levine 146*65ec2ae3SXin LI# Time and Frequency Division 147*65ec2ae3SXin LI# NIST 148*65ec2ae3SXin LI# Boulder, Colorado 149*65ec2ae3SXin LI# Judah.Levine@nist.gov 150*65ec2ae3SXin LI# 151*65ec2ae3SXin LI# Last Update of leap second values: 8 July 2016 1529488993bSBrad Davis# 1539488993bSBrad Davis# The following line shows this last update date in NTP timestamp 1549488993bSBrad Davis# format. This is the date on which the most recent change to 1559488993bSBrad Davis# the leap second data was added to the file. This line can 1569488993bSBrad Davis# be identified by the unique pair of characters in the first two 1579488993bSBrad Davis# columns as shown below. 1589488993bSBrad Davis# 159*65ec2ae3SXin LI#$ 3676924800 160*65ec2ae3SXin LI# 161*65ec2ae3SXin LI# The NTP timestamps are in units of seconds since the NTP epoch, 162*65ec2ae3SXin LI# which is 1 January 1900, 00:00:00. The Modified Julian Day number 163*65ec2ae3SXin LI# corresponding to the NTP time stamp, X, can be computed as 164*65ec2ae3SXin LI# 165*65ec2ae3SXin LI# X/86400 + 15020 166*65ec2ae3SXin LI# 167*65ec2ae3SXin LI# where the first term converts seconds to days and the second 168*65ec2ae3SXin LI# term adds the MJD corresponding to the time origin defined above. 169*65ec2ae3SXin LI# The integer portion of the result is the integer MJD for that 170*65ec2ae3SXin LI# day, and any remainder is the time of day, expressed as the 171*65ec2ae3SXin LI# fraction of the day since 0 hours UTC. The conversion from day 172*65ec2ae3SXin LI# fraction to seconds or to hours, minutes, and seconds may involve 173*65ec2ae3SXin LI# rounding or truncation, depending on the method used in the 174*65ec2ae3SXin LI# computation. 1759488993bSBrad Davis# 1769488993bSBrad Davis# The data in this file will be updated periodically as new leap 1779488993bSBrad Davis# seconds are announced. In addition to being entered on the line 1789488993bSBrad Davis# above, the update time (in NTP format) will be added to the basic 1799488993bSBrad Davis# file name leap-seconds to form the name leap-seconds.<NTP TIME>. 1809488993bSBrad Davis# In addition, the generic name leap-seconds.list will always point to 1819488993bSBrad Davis# the most recent version of the file. 1829488993bSBrad Davis# 1839488993bSBrad Davis# This update procedure will be performed only when a new leap second 1849488993bSBrad Davis# is announced. 1859488993bSBrad Davis# 1869488993bSBrad Davis# The following entry specifies the expiration date of the data 187*65ec2ae3SXin LI# in this file in units of seconds since the origin at the instant 188*65ec2ae3SXin LI# 1 January 1900, 00:00:00. This expiration date will be changed 189*65ec2ae3SXin LI# at least twice per year whether or not a new leap second is 190*65ec2ae3SXin LI# announced. These semi-annual changes will be made no later 191*65ec2ae3SXin LI# than 1 June and 1 December of each year to indicate what 1929488993bSBrad Davis# action (if any) is to be taken on 30 June and 31 December, 1939488993bSBrad Davis# respectively. (These are the customary effective dates for new 1949488993bSBrad Davis# leap seconds.) This expiration date will be identified by a 1959488993bSBrad Davis# unique pair of characters in columns 1 and 2 as shown below. 1969488993bSBrad Davis# In the unlikely event that a leap second is announced with an 1979488993bSBrad Davis# effective date other than 30 June or 31 December, then this 1989488993bSBrad Davis# file will be edited to include that leap second as soon as it is 1999488993bSBrad Davis# announced or at least one month before the effective date 2009488993bSBrad Davis# (whichever is later). 2019488993bSBrad Davis# If an announcement by the IERS specifies that no leap second is 2029488993bSBrad Davis# scheduled, then only the expiration date of the file will 2039488993bSBrad Davis# be advanced to show that the information in the file is still 2049488993bSBrad Davis# current -- the update time stamp, the data and the name of the file 2059488993bSBrad Davis# will not change. 2069488993bSBrad Davis# 2077fa22f74SXin LI# Updated through IERS Bulletin C57 208*65ec2ae3SXin LI# File expires on: 28 December 2019 2099488993bSBrad Davis# 210*65ec2ae3SXin LI#@ 3786480000 2119488993bSBrad Davis# 2129488993bSBrad Davis2272060800 10 # 1 Jan 1972 2139488993bSBrad Davis2287785600 11 # 1 Jul 1972 2149488993bSBrad Davis2303683200 12 # 1 Jan 1973 2159488993bSBrad Davis2335219200 13 # 1 Jan 1974 2169488993bSBrad Davis2366755200 14 # 1 Jan 1975 2179488993bSBrad Davis2398291200 15 # 1 Jan 1976 2189488993bSBrad Davis2429913600 16 # 1 Jan 1977 2199488993bSBrad Davis2461449600 17 # 1 Jan 1978 2209488993bSBrad Davis2492985600 18 # 1 Jan 1979 2219488993bSBrad Davis2524521600 19 # 1 Jan 1980 2229488993bSBrad Davis2571782400 20 # 1 Jul 1981 2239488993bSBrad Davis2603318400 21 # 1 Jul 1982 2249488993bSBrad Davis2634854400 22 # 1 Jul 1983 2259488993bSBrad Davis2698012800 23 # 1 Jul 1985 2269488993bSBrad Davis2776982400 24 # 1 Jan 1988 2279488993bSBrad Davis2840140800 25 # 1 Jan 1990 2289488993bSBrad Davis2871676800 26 # 1 Jan 1991 2299488993bSBrad Davis2918937600 27 # 1 Jul 1992 2309488993bSBrad Davis2950473600 28 # 1 Jul 1993 2319488993bSBrad Davis2982009600 29 # 1 Jul 1994 2329488993bSBrad Davis3029443200 30 # 1 Jan 1996 2339488993bSBrad Davis3076704000 31 # 1 Jul 1997 2349488993bSBrad Davis3124137600 32 # 1 Jan 1999 2359488993bSBrad Davis3345062400 33 # 1 Jan 2006 2369488993bSBrad Davis3439756800 34 # 1 Jan 2009 2379488993bSBrad Davis3550089600 35 # 1 Jul 2012 2389488993bSBrad Davis3644697600 36 # 1 Jul 2015 2399488993bSBrad Davis3692217600 37 # 1 Jan 2017 2409488993bSBrad Davis# 2419488993bSBrad Davis# the following special comment contains the 2429488993bSBrad Davis# hash value of the data in this file computed 2439488993bSBrad Davis# use the secure hash algorithm as specified 244*65ec2ae3SXin LI# by FIPS 180-1. See the files in ~/pub/sha for 2459488993bSBrad Davis# the details of how this hash value is 2469488993bSBrad Davis# computed. Note that the hash computation 2479488993bSBrad Davis# ignores comments and whitespace characters 2489488993bSBrad Davis# in data lines. It includes the NTP values 2499488993bSBrad Davis# of both the last modification time and the 2509488993bSBrad Davis# expiration time of the file, but not the 2519488993bSBrad Davis# white space on those lines. 2529488993bSBrad Davis# the hash line is also ignored in the 2539488993bSBrad Davis# computation. 2549488993bSBrad Davis# 255*65ec2ae3SXin LI#h 83c68138 d3650221 07dbbbcd 11fcc859 ced1106a 256