leap-seconds.list revision 273438
1178354Ssam#
2178354Ssam#	In the following text, the symbol '#' introduces
3178354Ssam#	a comment, which continues from that symbol until
4178354Ssam#	the end of the line. A plain comment line has a
5178354Ssam#	whitespace character following the comment indicator.
6178354Ssam#	There are also special comment lines defined below.
7178354Ssam#	A special comment will always have a non-whitespace
8178354Ssam#	character in column 2.
9178354Ssam#
10178354Ssam#	A blank line should be ignored.
11178354Ssam#
12178354Ssam#	The following table shows the corrections that must
13178354Ssam#	be applied to compute International Atomic Time (TAI)
14178354Ssam#	from the Coordinated Universal Time (UTC) values that
15178354Ssam#	are transmitted by almost all time services.
16178354Ssam#
17178354Ssam#	The first column shows an epoch as a number of seconds
18178354Ssam#	since 1 January 1900, 00:00:00 (1900.0 is also used to
19178354Ssam#	indicate the same epoch.) Both of these time stamp formats
20178354Ssam#	ignore the complexities of the time scales that were
21178354Ssam#	used before the current definition of UTC at the start
22178354Ssam#	of 1972. (See note 3 below.)
23178354Ssam#	The second column shows the number of seconds that
24178354Ssam#	must be added to UTC to compute TAI for any timestamp
25178354Ssam#	at or after that epoch. The value on each line is
26178354Ssam#	valid from the indicated initial instant until the
27178354Ssam#	epoch given on the next one or indefinitely into the
28178354Ssam#	future if there is no next line.
29178354Ssam#	(The comment on each line shows the representation of
30178354Ssam#	the corresponding initial epoch in the usual
31178354Ssam#	day-month-year format. The epoch always begins at
32178354Ssam#	00:00:00 UTC on the indicated day. See Note 5 below.)
33178354Ssam#
34178354Ssam#	Important notes:
35178354Ssam#
36178354Ssam#	1. Coordinated Universal Time (UTC) is often referred to
37178354Ssam#	as Greenwich Mean Time (GMT). The GMT time scale is no
38178354Ssam#	longer used, and the use of GMT to designate UTC is
39178354Ssam#	discouraged.
40178354Ssam#
41178354Ssam#	2. The UTC time scale is realized by many national
42178354Ssam#	laboratories and timing centers. Each laboratory
43178354Ssam#	identifies its realization with its name: Thus
44178354Ssam#	UTC(NIST), UTC(USNO), etc. The differences among
45178354Ssam#	these different realizations are typically on the
46178354Ssam#	order of a few nanoseconds (i.e., 0.000 000 00x s)
47178354Ssam#	and can be ignored for many purposes. These differences
48178354Ssam#	are tabulated in Circular T, which is published monthly
49178354Ssam#	by the International Bureau of Weights and Measures
50178354Ssam#	(BIPM). See www.bipm.fr for more information.
51178354Ssam#
52178354Ssam#	3. The current definition of the relationship between UTC
53178354Ssam#	and TAI dates from 1 January 1972. A number of different
54178354Ssam#	time scales were in use before that epoch, and it can be
55178354Ssam#	quite difficult to compute precise timestamps and time
56178354Ssam#	intervals in those "prehistoric" days. For more information,
57178354Ssam#	consult:
58178354Ssam#
59178354Ssam#		The Explanatory Supplement to the Astronomical
60190391Ssam#		Ephemeris.
61190391Ssam#	or
62190391Ssam#		Terry Quinn, "The BIPM and the Accurate Measurement
63178354Ssam#		of Time," Proc. of the IEEE, Vol. 79, pp. 894-905,
64178354Ssam#		July, 1991.
65178354Ssam#
66192468Ssam#	4. The decision to insert a leap second into UTC is currently
67178354Ssam#	the responsibility of the International Earth Rotation and
68192468Ssam#	Reference Systems Service. (The name was changed from the
69178354Ssam#	International Earth Rotation Service, but the acronym IERS
70178354Ssam#	is still used.)
71178354Ssam#
72178354Ssam#	Leap seconds are announced by the IERS in its Bulletin C.
73178354Ssam#
74178354Ssam#	See www.iers.org for more details.
75178354Ssam#
76178354Ssam#	Every national laboratory and timing center uses the
77178354Ssam#	data from the BIPM and the IERS to construct UTC(lab),
78178354Ssam#	their local realization of UTC.
79178354Ssam#
80178354Ssam#	Although the definition also includes the possibility
81178354Ssam#	of dropping seconds ("negative" leap seconds), this has
82178354Ssam#	never been done and is unlikely to be necessary in the
83178354Ssam#	foreseeable future.
84178354Ssam#
85178354Ssam#	5. If your system keeps time as the number of seconds since
86178354Ssam#	some epoch (e.g., NTP timestamps), then the algorithm for
87178354Ssam#	assigning a UTC time stamp to an event that happens during a positive
88178354Ssam#	leap second is not well defined. The official name of that leap
89178354Ssam#	second is 23:59:60, but there is no way of representing that time
90178354Ssam#	in these systems.
91178354Ssam#	Many systems of this type effectively stop the system clock for
92178354Ssam#	one second during the leap second and use a time that is equivalent
93178354Ssam#	to 23:59:59 UTC twice. For these systems, the corresponding TAI
94178354Ssam#	timestamp would be obtained by advancing to the next entry in the
95178354Ssam#	following table when the time equivalent to 23:59:59 UTC
96178354Ssam#	is used for the second time. Thus the leap second which
97178354Ssam#	occurred on 30 June 1972 at 23:59:59 UTC would have TAI
98178354Ssam#	timestamps computed as follows:
99178354Ssam#
100195379Ssam#	...
101195379Ssam#	30 June 1972 23:59:59 (2287785599, first time):	TAI= UTC + 10 seconds
102195379Ssam#	30 June 1972 23:59:60 (2287785599,second time):	TAI= UTC + 11 seconds
103195379Ssam#	1  July 1972 00:00:00 (2287785600)		TAI= UTC + 11 seconds
104195379Ssam#	...
105195379Ssam#
106195379Ssam#	If your system realizes the leap second by repeating 00:00:00 UTC twice
107195379Ssam#	(this is possible but not usual), then the advance to the next entry
108195379Ssam#	in the table must occur the second time that a time equivalent to
109195379Ssam#	00:00:00 UTC is used. Thus, using the same example as above:
110195379Ssam#
111195379Ssam#	...
112195379Ssam#       30 June 1972 23:59:59 (2287785599):		TAI= UTC + 10 seconds
113195379Ssam#       30 June 1972 23:59:60 (2287785600, first time):	TAI= UTC + 10 seconds
114195379Ssam#       1  July 1972 00:00:00 (2287785600,second time):	TAI= UTC + 11 seconds
115195379Ssam#	...
116195379Ssam#
117195379Ssam#	in both cases the use of timestamps based on TAI produces a smooth
118195379Ssam#	time scale with no discontinuity in the time interval. However,
119195379Ssam#	although the long-term behavior of the time scale is correct in both
120195379Ssam#	methods, the second method is technically not correct because it adds
121195379Ssam#	the extra second to the wrong day.
122178354Ssam#
123178354Ssam#	This complexity would not be needed for negative leap seconds (if they
124178354Ssam#	are ever used). The UTC time would skip 23:59:59 and advance from
125178354Ssam#	23:59:58 to 00:00:00 in that case. The TAI offset would decrease by
126178354Ssam#	1 second at the same instant. This is a much easier situation to deal
127178354Ssam#	with, since the difficulty of unambiguously representing the epoch
128178354Ssam#	during the leap second does not arise.
129178354Ssam#
130178354Ssam#	Questions or comments to:
131178354Ssam#		Judah Levine
132178354Ssam#		Time and Frequency Division
133178354Ssam#		NIST
134178354Ssam#		Boulder, Colorado
135178354Ssam#		Judah.Levine@nist.gov
136178354Ssam#
137178354Ssam#	Last Update of leap second values:   11 January 2012
138178354Ssam#
139178354Ssam#	The following line shows this last update date in NTP timestamp
140178354Ssam#	format. This is the date on which the most recent change to
141178354Ssam#	the leap second data was added to the file. This line can
142178354Ssam#	be identified by the unique pair of characters in the first two
143178354Ssam#	columns as shown below.
144178354Ssam#
145178354Ssam#$	 3535228800
146178354Ssam#
147178354Ssam#	The NTP timestamps are in units of seconds since the NTP epoch,
148178354Ssam#	which is 1 January 1900, 00:00:00. The Modified Julian Day number
149178354Ssam#	corresponding to the NTP time stamp, X, can be computed as
150178354Ssam#
151178354Ssam#	X/86400 + 15020
152178354Ssam#
153178354Ssam#	where the first term converts seconds to days and the second
154178354Ssam#	term adds the MJD corresponding to the time origin defined above.
155178354Ssam#	The integer portion of the result is the integer MJD for that
156178354Ssam#	day, and any remainder is the time of day, expressed as the
157178354Ssam#	fraction of the day since 0 hours UTC. The conversion from day
158178354Ssam#	fraction to seconds or to hours, minutes, and seconds may involve
159178354Ssam#	rounding or truncation, depending on the method used in the
160178354Ssam#	computation.
161178354Ssam#
162178354Ssam#	The data in this file will be updated periodically as new leap
163178354Ssam#	seconds are announced. In addition to being entered on the line
164178354Ssam#	above, the update time (in NTP format) will be added to the basic
165178354Ssam#	file name leap-seconds to form the name leap-seconds.<NTP TIME>.
166178354Ssam#	In addition, the generic name leap-seconds.list will always point to
167178354Ssam#	the most recent version of the file.
168178354Ssam#
169178354Ssam#	This update procedure will be performed only when a new leap second
170178354Ssam#	is announced.
171178354Ssam#
172178354Ssam#	The following entry specifies the expiration date of the data
173178354Ssam#	in this file in units of seconds since the origin at the instant
174178354Ssam#	1 January 1900, 00:00:00. This expiration date will be changed
175178354Ssam#	at least twice per year whether or not a new leap second is
176178354Ssam#	announced. These semi-annual changes will be made no later
177178354Ssam#	than 1 June and 1 December of each year to indicate what
178178354Ssam#	action (if any) is to be taken on 30 June and 31 December,
179178354Ssam#	respectively. (These are the customary effective dates for new
180178354Ssam#	leap seconds.) This expiration date will be identified by a
181178354Ssam#	unique pair of characters in columns 1 and 2 as shown below.
182178354Ssam#	In the unlikely event that a leap second is announced with an
183178354Ssam#	effective date other than 30 June or 31 December, then this
184178354Ssam#	file will be edited to include that leap second as soon as it is
185178354Ssam#	announced or at least one month before the effective date
186178354Ssam#	(whichever is later).
187178354Ssam#	If an announcement by the IERS specifies that no leap second is
188178354Ssam#	scheduled, then only the expiration date of the file will
189178354Ssam#	be advanced to show that the information in the file is still
190178354Ssam#	current -- the update time stamp, the data and the name of the file
191178354Ssam#	will not change.
192178354Ssam#
193178354Ssam#	Updated through IERS Bulletin C48
194178354Ssam#	File expires on:  28 June 2015
195178354Ssam#
196178354Ssam#@	3644438400
197178354Ssam#
198178354Ssam2272060800	10	# 1 Jan 1972
199178354Ssam2287785600	11	# 1 Jul 1972
200178354Ssam2303683200	12	# 1 Jan 1973
201178354Ssam2335219200	13	# 1 Jan 1974
202178354Ssam2366755200	14	# 1 Jan 1975
203178354Ssam2398291200	15	# 1 Jan 1976
204178354Ssam2429913600	16	# 1 Jan 1977
205178354Ssam2461449600	17	# 1 Jan 1978
206178354Ssam2492985600	18	# 1 Jan 1979
207178354Ssam2524521600	19	# 1 Jan 1980
208178354Ssam2571782400	20	# 1 Jul 1981
209178354Ssam2603318400	21	# 1 Jul 1982
210178354Ssam2634854400	22	# 1 Jul 1983
211178354Ssam2698012800	23	# 1 Jul 1985
212178354Ssam2776982400	24	# 1 Jan 1988
213178354Ssam2840140800	25	# 1 Jan 1990
214178354Ssam2871676800	26	# 1 Jan 1991
215178354Ssam2918937600	27	# 1 Jul 1992
216178354Ssam2950473600	28	# 1 Jul 1993
217178354Ssam2982009600	29	# 1 Jul 1994
218178354Ssam3029443200	30	# 1 Jan 1996
219178354Ssam3076704000	31	# 1 Jul 1997
220195379Ssam3124137600	32	# 1 Jan 1999
221178354Ssam3345062400	33	# 1 Jan 2006
222195379Ssam3439756800	34	# 1 Jan 2009
223195379Ssam3550089600	35	# 1 Jul 2012
224178354Ssam#
225178354Ssam#	the following special comment contains the
226178354Ssam#	hash value of the data in this file computed
227178354Ssam#	use the secure hash algorithm as specified
228178354Ssam#	by FIPS 180-1. See the files in ~/pub/sha for
229178354Ssam#	the details of how this hash value is
230178354Ssam#	computed. Note that the hash computation
231178354Ssam#	ignores comments and whitespace characters
232178354Ssam#	in data lines. It includes the NTP values
233178354Ssam#	of both the last modification time and the
234178354Ssam#	expiration time of the file, but not the
235178354Ssam#	white space on those lines.
236178354Ssam#	the hash line is also ignored in the
237178354Ssam#	computation.
238178354Ssam#
239178354Ssam#h	a4862ccd c6f43c6 964f3604 85944a26 b5cfad4e
240178354Ssam