150826Smdodd#
250826Smdodd#	In the following text, the symbol '#' introduces
350826Smdodd#	a comment, which continues from that symbol until
450826Smdodd#	the end of the line. A plain comment line has a
550826Smdodd#	whitespace character following the comment indicator.
650826Smdodd#	There are also special comment lines defined below.
750826Smdodd#	A special comment will always have a non-whitespace
850826Smdodd#	character in column 2.
950826Smdodd#
1050826Smdodd#	A blank line should be ignored.
1150826Smdodd#
1250826Smdodd#	The following table shows the corrections that must
1350826Smdodd#	be applied to compute International Atomic Time (TAI)
1450826Smdodd#	from the Coordinated Universal Time (UTC) values that
1550826Smdodd#	are transmitted by almost all time services.
1650826Smdodd#
1750826Smdodd#	The first column shows an epoch as a number of seconds
1850826Smdodd#	since 1 January 1900, 00:00:00 (1900.0 is also used to
1950826Smdodd#	indicate the same epoch.) Both of these time stamp formats
2050826Smdodd#	ignore the complexities of the time scales that were
2150826Smdodd#	used before the current definition of UTC at the start
2250826Smdodd#	of 1972. (See note 3 below.)
2350826Smdodd#	The second column shows the number of seconds that
2450826Smdodd#	must be added to UTC to compute TAI for any timestamp
2550826Smdodd#	at or after that epoch. The value on each line is
2650826Smdodd#	valid from the indicated initial instant until the
2750826Smdodd#	epoch given on the next one or indefinitely into the
28119418Sobrien#	future if there is no next line.
29119418Sobrien#	(The comment on each line shows the representation of
30119418Sobrien#	the corresponding initial epoch in the usual
3150826Smdodd#	day-month-year format. The epoch always begins at
3250826Smdodd#	00:00:00 UTC on the indicated day. See Note 5 below.)
3350826Smdodd#
3450826Smdodd#	Important notes:
3550826Smdodd#
3650826Smdodd#	1. Coordinated Universal Time (UTC) is often referred to
3750826Smdodd#	as Greenwich Mean Time (GMT). The GMT time scale is no
3850826Smdodd#	longer used, and the use of GMT to designate UTC is
3950826Smdodd#	discouraged.
4050826Smdodd#
4150826Smdodd#	2. The UTC time scale is realized by many national
42117126Sscottl#	laboratories and timing centers. Each laboratory
43117126Sscottl#	identifies its realization with its name: Thus
4450826Smdodd#	UTC(NIST), UTC(USNO), etc. The differences among
4550826Smdodd#	these different realizations are typically on the
4650826Smdodd#	order of a few nanoseconds (i.e., 0.000 000 00x s)
4750826Smdodd#	and can be ignored for many purposes. These differences
4850826Smdodd#	are tabulated in Circular T, which is published monthly
4950826Smdodd#	by the International Bureau of Weights and Measures
5050826Smdodd#	(BIPM). See www.bipm.org for more information.
5150826Smdodd#
5250826Smdodd#	3. The current definition of the relationship between UTC
5350826Smdodd#	and TAI dates from 1 January 1972. A number of different
5450826Smdodd#	time scales were in use before that epoch, and it can be
5550826Smdodd#	quite difficult to compute precise timestamps and time
5650826Smdodd#	intervals in those "prehistoric" days. For more information,
5750826Smdodd#	consult:
58135260Sphk#
5950826Smdodd#		The Explanatory Supplement to the Astronomical
6050826Smdodd#		Ephemeris.
6150826Smdodd#	or
6250826Smdodd#		Terry Quinn, "The BIPM and the Accurate Measurement
6350826Smdodd#		of Time," Proc. of the IEEE, Vol. 79, pp. 894-905,
6450826Smdodd#		July, 1991.
6550826Smdodd#
6650826Smdodd#	4. The decision to insert a leap second into UTC is currently
6750826Smdodd#	the responsibility of the International Earth Rotation and
6850826Smdodd#	Reference Systems Service. (The name was changed from the
6950826Smdodd#	International Earth Rotation Service, but the acronym IERS
7050826Smdodd#	is still used.)
7150826Smdodd#
7250826Smdodd#	Leap seconds are announced by the IERS in its Bulletin C.
7350826Smdodd#
7450826Smdodd#	See www.iers.org for more details.
7550826Smdodd#
7650826Smdodd#	Every national laboratory and timing center uses the
7750826Smdodd#	data from the BIPM and the IERS to construct UTC(lab),
7850826Smdodd#	their local realization of UTC.
7950826Smdodd#
8050826Smdodd#	Although the definition also includes the possibility
8150826Smdodd#	of dropping seconds ("negative" leap seconds), this has
8250826Smdodd#	never been done and is unlikely to be necessary in the
8350826Smdodd#	foreseeable future.
8450826Smdodd#
8550826Smdodd#	5. If your system keeps time as the number of seconds since
8650826Smdodd#	some epoch (e.g., NTP timestamps), then the algorithm for
8750826Smdodd#	assigning a UTC time stamp to an event that happens during a positive
8850826Smdodd#	leap second is not well defined. The official name of that leap
8950826Smdodd#	second is 23:59:60, but there is no way of representing that time
9050826Smdodd#	in these systems.
9150826Smdodd#	Many systems of this type effectively stop the system clock for
9250826Smdodd#	one second during the leap second and use a time that is equivalent
9350826Smdodd#	to 23:59:59 UTC twice. For these systems, the corresponding TAI
9450826Smdodd#	timestamp would be obtained by advancing to the next entry in the
9550826Smdodd#	following table when the time equivalent to 23:59:59 UTC
9650826Smdodd#	is used for the second time. Thus the leap second which
9750826Smdodd#	occurred on 30 June 1972 at 23:59:59 UTC would have TAI
9850826Smdodd#	timestamps computed as follows:
9950826Smdodd#
10050826Smdodd#	...
10150826Smdodd#	30 June 1972 23:59:59 (2287785599, first time):	TAI= UTC + 10 seconds
10250826Smdodd#	30 June 1972 23:59:60 (2287785599,second time):	TAI= UTC + 11 seconds
10350826Smdodd#	1  July 1972 00:00:00 (2287785600)		TAI= UTC + 11 seconds
10450826Smdodd#	...
10550826Smdodd#
10650826Smdodd#	If your system realizes the leap second by repeating 00:00:00 UTC twice
10750826Smdodd#	(this is possible but not usual), then the advance to the next entry
10850826Smdodd#	in the table must occur the second time that a time equivalent to
10950826Smdodd#	00:00:00 UTC is used. Thus, using the same example as above:
11050826Smdodd#
11150826Smdodd#	...
11250826Smdodd#       30 June 1972 23:59:59 (2287785599):		TAI= UTC + 10 seconds
11352050Smdodd#       30 June 1972 23:59:60 (2287785600, first time):	TAI= UTC + 10 seconds
11452050Smdodd#       1  July 1972 00:00:00 (2287785600,second time):	TAI= UTC + 11 seconds
11552050Smdodd#	...
11650826Smdodd#
11752050Smdodd#	in both cases the use of timestamps based on TAI produces a smooth
11850826Smdodd#	time scale with no discontinuity in the time interval. However,
11950826Smdodd#	although the long-term behavior of the time scale is correct in both
12050826Smdodd#	methods, the second method is technically not correct because it adds
12150826Smdodd#	the extra second to the wrong day.
12250826Smdodd#
12350826Smdodd#	This complexity would not be needed for negative leap seconds (if they
12450826Smdodd#	are ever used). The UTC time would skip 23:59:59 and advance from
125127135Snjl#	23:59:58 to 00:00:00 in that case. The TAI offset would decrease by
12652050Smdodd#	1 second at the same instant. This is a much easier situation to deal
12752050Smdodd#	with, since the difficulty of unambiguously representing the epoch
12850826Smdodd#	during the leap second does not arise.
12952050Smdodd#
13050826Smdodd#	Some systems implement leap seconds by amortizing the leap second
13152050Smdodd#	over the last few minutes of the day. The frequency of the local
13250826Smdodd#	clock is decreased (or increased) to realize the positive (or
13352050Smdodd#	negative) leap second. This method removes the time step described
134127135Snjl#	above. Although the long-term behavior of the time scale is correct
13552050Smdodd#	in this case, this method introduces an error during the adjustment
13652050Smdodd#	period both in time and in frequency with respect to the official
13752050Smdodd#	definition of UTC.
13852050Smdodd#
13952050Smdodd#	Questions or comments to:
14052050Smdodd#		Judah Levine
141127135Snjl#		Time and Frequency Division
14252050Smdodd#		NIST
14352050Smdodd#		Boulder, Colorado
14452050Smdodd#		Judah.Levine@nist.gov
14552050Smdodd#
14652050Smdodd#	Last Update of leap second values:   8 July 2016
14752050Smdodd#
14850826Smdodd#	The following line shows this last update date in NTP timestamp
14950826Smdodd#	format. This is the date on which the most recent change to
15050826Smdodd#	the leap second data was added to the file. This line can
15150826Smdodd#	be identified by the unique pair of characters in the first two
15250826Smdodd#	columns as shown below.
15350826Smdodd#
15450826Smdodd#$	 3676924800
15550826Smdodd#
15650826Smdodd#	The NTP timestamps are in units of seconds since the NTP epoch,
15750826Smdodd#	which is 1 January 1900, 00:00:00. The Modified Julian Day number
15850826Smdodd#	corresponding to the NTP time stamp, X, can be computed as
15950826Smdodd#
16050826Smdodd#	X/86400 + 15020
16150826Smdodd#
16250826Smdodd#	where the first term converts seconds to days and the second
16350826Smdodd#	term adds the MJD corresponding to the time origin defined above.
16450826Smdodd#	The integer portion of the result is the integer MJD for that
16550826Smdodd#	day, and any remainder is the time of day, expressed as the
16650826Smdodd#	fraction of the day since 0 hours UTC. The conversion from day
16750826Smdodd#	fraction to seconds or to hours, minutes, and seconds may involve
16850826Smdodd#	rounding or truncation, depending on the method used in the
16950826Smdodd#	computation.
17050826Smdodd#
17150826Smdodd#	The data in this file will be updated periodically as new leap
17250826Smdodd#	seconds are announced. In addition to being entered on the line
17350826Smdodd#	above, the update time (in NTP format) will be added to the basic
17450826Smdodd#	file name leap-seconds to form the name leap-seconds.<NTP TIME>.
17550826Smdodd#	In addition, the generic name leap-seconds.list will always point to
17650826Smdodd#	the most recent version of the file.
17750826Smdodd#
17850826Smdodd#	This update procedure will be performed only when a new leap second
17950826Smdodd#	is announced.
18050826Smdodd#
18150826Smdodd#	The following entry specifies the expiration date of the data
18250826Smdodd#	in this file in units of seconds since the origin at the instant
18350826Smdodd#	1 January 1900, 00:00:00. This expiration date will be changed
18450826Smdodd#	at least twice per year whether or not a new leap second is
18550826Smdodd#	announced. These semi-annual changes will be made no later
18650826Smdodd#	than 1 June and 1 December of each year to indicate what
18751675Smdodd#	action (if any) is to be taken on 30 June and 31 December,
18850826Smdodd#	respectively. (These are the customary effective dates for new
18950826Smdodd#	leap seconds.) This expiration date will be identified by a
19052050Smdodd#	unique pair of characters in columns 1 and 2 as shown below.
19150826Smdodd#	In the unlikely event that a leap second is announced with an
19250826Smdodd#	effective date other than 30 June or 31 December, then this
19350826Smdodd#	file will be edited to include that leap second as soon as it is
19450826Smdodd#	announced or at least one month before the effective date
19550826Smdodd#	(whichever is later).
19650826Smdodd#	If an announcement by the IERS specifies that no leap second is
19750826Smdodd#	scheduled, then only the expiration date of the file will
19850826Smdodd#	be advanced to show that the information in the file is still
199241592Sjhb#	current -- the update time stamp, the data and the name of the file
20050826Smdodd#	will not change.
20150826Smdodd#
20250826Smdodd#	Updated through IERS Bulletin C52
20350826Smdodd#	File expires on:  28 June 2017
20450826Smdodd#
20550826Smdodd#@	3707596800
20650826Smdodd#
20750826Smdodd2272060800	10	# 1 Jan 1972
20850826Smdodd2287785600	11	# 1 Jul 1972
20950826Smdodd2303683200	12	# 1 Jan 1973
21050826Smdodd2335219200	13	# 1 Jan 1974
21150826Smdodd2366755200	14	# 1 Jan 1975
21250826Smdodd2398291200	15	# 1 Jan 1976
21352050Smdodd2429913600	16	# 1 Jan 1977
21450826Smdodd2461449600	17	# 1 Jan 1978
21550826Smdodd2492985600	18	# 1 Jan 1979
21650826Smdodd2524521600	19	# 1 Jan 1980
21750826Smdodd2571782400	20	# 1 Jul 1981
21850826Smdodd2603318400	21	# 1 Jul 1982
21950826Smdodd2634854400	22	# 1 Jul 1983
22050826Smdodd2698012800	23	# 1 Jul 1985
221112782Smdodd2776982400	24	# 1 Jan 1988
222112782Smdodd2840140800	25	# 1 Jan 1990
223112782Smdodd2871676800	26	# 1 Jan 1991
224112782Smdodd2918937600	27	# 1 Jul 1992
225112782Smdodd2950473600	28	# 1 Jul 1993
226112782Smdodd2982009600	29	# 1 Jul 1994
227112782Smdodd3029443200	30	# 1 Jan 1996
228112782Smdodd3076704000	31	# 1 Jul 1997
229112782Smdodd3124137600	32	# 1 Jan 1999
230112782Smdodd3345062400	33	# 1 Jan 2006
231112782Smdodd3439756800	34	# 1 Jan 2009
232241592Sjhb3550089600	35	# 1 Jul 2012
233241592Sjhb3644697600	36	# 1 Jul 2015
234112782Smdodd3692217600	37	# 1 Jan 2017
23550826Smdodd#
23650826Smdodd#	the following special comment contains the
23750826Smdodd#	hash value of the data in this file computed
23850826Smdodd#	use the secure hash algorithm as specified
23950826Smdodd#	by FIPS 180-1. See the files in ~/pub/sha for
24050826Smdodd#	the details of how this hash value is
24150826Smdodd#	computed. Note that the hash computation
24250826Smdodd#	ignores comments and whitespace characters
24350826Smdodd#	in data lines. It includes the NTP values
24450826Smdodd#	of both the last modification time and the
245112782Smdodd#	expiration time of the file, but not the
246112782Smdodd#	white space on those lines.
247112782Smdodd#	the hash line is also ignored in the
248112782Smdodd#	computation.
249112782Smdodd#
250112782Smdodd#h	dacf2c42 2c4765d6 3c797af8 2cf630eb 699c8c67
251112782Smdodd