leap-seconds revision 296373
1153816Sdougb#
2234010Sdougb# $FreeBSD: releng/10.3/etc/ntp/leap-seconds 295461 2016-02-10 07:16:17Z cy $
3153816Sdougb#
4153816Sdougb#	In the following text, the symbol '#' introduces
5204619Sdougb#	a comment, which continues from that symbol until 
6153816Sdougb#	the end of the line. A plain comment line has a
7153816Sdougb#	whitespace character following the comment indicator.
8153816Sdougb#	There are also special comment lines defined below. 
9153816Sdougb#	A special comment will always have a non-whitespace 
10153816Sdougb#	character in column 2.
11153816Sdougb#
12153816Sdougb#	A blank line should be ignored.
13153816Sdougb#
14153816Sdougb#	The following table shows the corrections that must
15153816Sdougb#	be applied to compute International Atomic Time (TAI)
16153816Sdougb#	from the Coordinated Universal Time (UTC) values that
17234010Sdougb#	are transmitted by almost all time services.
18153816Sdougb#
19153816Sdougb#	The first column shows an epoch as a number of seconds
20153816Sdougb#	since 1900.0 and the second column shows the number of
21153816Sdougb#	seconds that must be added to UTC to compute TAI for
22170222Sdougb#	any timestamp at or after that epoch. The value on 
23153816Sdougb#	each line is valid from the indicated initial instant
24170222Sdougb#	until the epoch given on the next one or indefinitely 
25153816Sdougb#	into the future if there is no next line.
26153816Sdougb#	(The comment on each line shows the representation of
27153816Sdougb#	the corresponding initial epoch in the usual 
28153816Sdougb#	day-month-year format. The epoch always begins at
29153816Sdougb#	00:00:00 UTC on the indicated day. See Note 5 below.)
30153816Sdougb#	
31153816Sdougb#	Important notes:
32153816Sdougb#
33153816Sdougb#	1. Coordinated Universal Time (UTC) is often referred to
34153816Sdougb#	as Greenwich Mean Time (GMT). The GMT time scale is no
35153816Sdougb#	longer used, and the use of GMT to designate UTC is
36153816Sdougb#	discouraged.
37153816Sdougb#
38153816Sdougb#	2. The UTC time scale is realized by many national 
39153816Sdougb#	laboratories and timing centers. Each laboratory
40153816Sdougb#	identifies its realization with its name: Thus
41153816Sdougb#	UTC(NIST), UTC(USNO), etc. The differences among
42153816Sdougb#	these different realizations are typically on the
43234010Sdougb#	order of a few nanoseconds (i.e., 0.000 000 00x s)
44234010Sdougb#	and can be ignored for many purposes. These differences
45153816Sdougb#	are tabulated in Circular T, which is published monthly
46153816Sdougb#	by the International Bureau of Weights and Measures
47153816Sdougb#	(BIPM). See www.bipm.fr for more information.
48153816Sdougb#
49153816Sdougb#	3. The current defintion of the relationship between UTC 
50153816Sdougb#	and TAI dates from 1 January 1972. A number of different 
51153816Sdougb#	time scales were in use before than epoch, and it can be 
52170222Sdougb#	quite difficult to compute precise timestamps and time 
53153816Sdougb#	intervals in those "prehistoric" days. For more information,
54234010Sdougb#	consult:
55234010Sdougb#
56234010Sdougb#		The Explanatory Supplement to the Astronomical
57234010Sdougb#		Ephemeris.
58153816Sdougb#	or
59234010Sdougb#		Terry Quinn, "The BIPM and the Accurate Measurement
60234010Sdougb#		of Time," Proc. of the IEEE, Vol. 79, pp. 894-905,
61234010Sdougb#		July, 1991.
62234010Sdougb#
63234010Sdougb#	4.  The insertion of leap seconds into UTC is currently the
64234010Sdougb#	responsibility of the International Earth Rotation Service,
65153816Sdougb#	which is located at the Paris Observatory: 
66153816Sdougb#
67165071Sdougb#	Central Bureau of IERS
68153816Sdougb#	61, Avenue de l'Observatoire
69234010Sdougb#	75014 Paris, France.
70234010Sdougb#
71234010Sdougb#	Leap seconds are announced by the IERS in its Bulletin C
72234010Sdougb#
73234010Sdougb#	See hpiers.obspm.fr or www.iers.org for more details.
74153816Sdougb#
75153816Sdougb#	All national laboratories and timing centers use the
76153816Sdougb#	data from the BIPM and the IERS to construct their
77153816Sdougb#	local realizations of UTC.
78153816Sdougb#
79234010Sdougb#	Although the definition also includes the possibility
80234010Sdougb#	of dropping seconds ("negative" leap seconds), this has 
81153816Sdougb#	never been done and is unlikely to be necessary in the 
82234010Sdougb#	foreseeable future.
83234010Sdougb#
84153816Sdougb#	5. If your system keeps time as the number of seconds since
85234010Sdougb#	some epoch (e.g., NTP timestamps), then the algorithm for
86234010Sdougb#	assigning a UTC time stamp to an event that happens during a positive
87153816Sdougb#	leap second is not well defined. The official name of that leap 
88153816Sdougb#	second is 23:59:60, but there is no way of representing that time 
89153816Sdougb#	in these systems. 
90153816Sdougb#	Many systems of this type effectively stop the system clock for 
91153816Sdougb#	one second during the leap second and use a time that is equivalent 
92153816Sdougb#	to 23:59:59 UTC twice. For these systems, the corresponding TAI 
93153816Sdougb#	timestamp would be obtained by advancing to the next entry in the
94153816Sdougb#	following table when the time equivalent to 23:59:59 UTC
95234010Sdougb#	is used for the second time. Thus the leap second which
96234010Sdougb#	occurred on 30 June 1972 at 23:59:59 UTC would have TAI
97153816Sdougb#	timestamps computed as follows:
98153816Sdougb#
99234010Sdougb#	...
100234010Sdougb#	30 June 1972 23:59:59 (2287785599, first time):	TAI= UTC + 10 seconds
101234010Sdougb#	30 June 1972 23:59:60 (2287785599,second time):	TAI= UTC + 11 seconds
102234010Sdougb#	1  July 1972 00:00:00 (2287785600)		TAI= UTC + 11 seconds
103234010Sdougb#	...
104234010Sdougb#
105153816Sdougb#	If your system realizes the leap second by repeating 00:00:00 UTC twice
106234010Sdougb#	(this is possible but not usual), then the advance to the next entry
107234010Sdougb#	in the table must occur the second time that a time equivlent to 
108153816Sdougb#	00:00:00 UTC is used. Thus, using the same example as above:
109153816Sdougb#
110234010Sdougb#	...
111234010Sdougb#       30 June 1972 23:59:59 (2287785599):		TAI= UTC + 10 seconds
112234010Sdougb#       30 June 1972 23:59:60 (2287785600, first time):	TAI= UTC + 10 seconds
113153816Sdougb#       1  July 1972 00:00:00 (2287785600,second time):	TAI= UTC + 11 seconds
114224092Sdougb#	...
115153816Sdougb#
116234010Sdougb#	in both cases the use of timestamps based on TAI produces a smooth
117234010Sdougb#	time scale with no discontinuity in the time interval.
118234010Sdougb#
119234010Sdougb#	This complexity would not be needed for negative leap seconds (if they 
120234010Sdougb#	are ever used). The UTC time would skip 23:59:59 and advance from 
121234010Sdougb#	23:59:58 to 00:00:00 in that case.  The TAI offset would decrease by 
122234010Sdougb#	1 second at the same instant.  This is a much easier situation to deal 
123234010Sdougb#	with, since the difficulty of unambiguously representing the epoch 
124234010Sdougb#	during the leap second does not arise.
125234010Sdougb#
126234010Sdougb#	Questions or comments to:
127234010Sdougb#		Jeff Prillaman
128234010Sdougb#		Time Service Department
129153816Sdougb#		US Naval Observatory
130224092Sdougb#		Washington, DC
131224092Sdougb#		jeffrey.prillaman@usno.navy.mil
132234010Sdougb#
133234010Sdougb#	Last Update of leap second values:  31 Dec 2015
134153816Sdougb#
135224092Sdougb#	The following line shows this last update date in NTP timestamp 
136224092Sdougb#	format. This is the date on which the most recent change to
137234010Sdougb#	the leap second data was added to the file. This line can
138234010Sdougb#	be identified by the unique pair of characters in the first two 
139234010Sdougb#	columns as shown below.
140234010Sdougb#
141234010Sdougb#$	 3660508800
142234010Sdougb#
143224092Sdougb#	The data in this file will be updated periodically as new leap 
144234010Sdougb#	seconds are announced. In addition to being entered on the line
145224092Sdougb#	above, the update time (in NTP format) will be added to the basic 
146234010Sdougb#	file name leap-seconds to form the name leap-seconds.<NTP TIME>.
147234010Sdougb#	In addition, the generic name leap-seconds.list will always point to 
148224092Sdougb#	the most recent version of the file.
149224092Sdougb#
150165071Sdougb#	This update procedure will be performed only when a new leap second
151153816Sdougb#	is announced. 
152234010Sdougb#
153153816Sdougb#	The following entry specifies the expiration date of the data
154153816Sdougb#	in this file in units of seconds since 1900.0.  This expiration date 
155165071Sdougb#	will be changed at least twice per year whether or not a new leap 
156153816Sdougb#	second is announced. These semi-annual changes will be made no
157153816Sdougb#	later than 1 June and 1 December of each year to indicate what
158153816Sdougb#	action (if any) is to be taken on 30 June and 31 December, 
159153816Sdougb#	respectively. (These are the customary effective dates for new
160234010Sdougb#	leap seconds.) This expiration date will be identified by a
161153816Sdougb#	unique pair of characters in columns 1 and 2 as shown below.
162153816Sdougb#	In the unlikely event that a leap second is announced with an 
163153816Sdougb#	effective date other than 30 June or 31 December, then this
164234010Sdougb#	file will be edited to include that leap second as soon as it is
165153816Sdougb#	announced or at least one month before the effective date
166170222Sdougb#	(whichever is later). 
167234010Sdougb#	If an announcement by the IERS specifies that no leap second is 
168170222Sdougb#	scheduled, then only the expiration date of the file will 
169170222Sdougb#	be advanced to show that the information in the file is still
170234010Sdougb#	current -- the update time stamp, the data and the name of the file 
171234010Sdougb#	will not change.
172170222Sdougb#
173234010Sdougb#	Updated through IERS Bulletin C 50
174234010Sdougb#	File expires on:  1 Jun 2016
175234010Sdougb#
176234010Sdougb#@	3673728000
177170222Sdougb#
178234010Sdougb2272060800	10	# 1 Jan 1972
179234010Sdougb2287785600	11	# 1 Jul 1972
180234010Sdougb2303683200	12	# 1 Jan 1973
181234010Sdougb2335219200	13	# 1 Jan 1974
182170222Sdougb2366755200	14	# 1 Jan 1975
183234010Sdougb2398291200	15	# 1 Jan 1976
184170222Sdougb2429913600	16	# 1 Jan 1977
185170222Sdougb2461449600	17	# 1 Jan 1978
186153816Sdougb2492985600	18	# 1 Jan 1979
187170222Sdougb2524521600	19	# 1 Jan 1980
188170222Sdougb2571782400	20	# 1 Jul 1981
189193149Sdougb2603318400	21	# 1 Jul 1982
190234010Sdougb2634854400	22	# 1 Jul 1983
191193149Sdougb2698012800	23	# 1 Jul 1985
192224092Sdougb2776982400	24	# 1 Jan 1988
193234010Sdougb2840140800	25	# 1 Jan 1990
194170222Sdougb2871676800	26	# 1 Jan 1991
195234010Sdougb2918937600	27	# 1 Jul 1992
196224092Sdougb2950473600	28	# 1 Jul 1993
197224092Sdougb2982009600	29	# 1 Jul 1994
198153816Sdougb3029443200	30	# 1 Jan 1996
199234010Sdougb3076704000	31	# 1 Jul 1997
200153816Sdougb3124137600	32	# 1 Jan 1999
201170222Sdougb3345062400	33	# 1 Jan 2006
202234010Sdougb3439756800	34	# 1 Jan 2009
203153816Sdougb3550089600	35	# 1 Jul 2012
204234010Sdougb3644697600	36	# 1 Jul 2015
205153816Sdougb#
206153816Sdougb#	the following special comment contains the
207234010Sdougb#	hash value of the data in this file computed
208153816Sdougb#	use the secure hash algorithm as specified
209234010Sdougb#	by FIPS 180-1. See the files in ~/sha for
210234010Sdougb#	the details of how this hash value is
211234010Sdougb#	computed. Note that the hash computation
212170222Sdougb#	ignores comments and whitespace characters
213153816Sdougb#	in data lines. It includes the NTP values
214193149Sdougb#	of both the last modification time and the 
215193149Sdougb#	expiration time of the file, but not the
216153816Sdougb#	white space on those lines.
217165071Sdougb#	the hash line is also ignored in the
218153816Sdougb#	computation.
219153816Sdougb#
220234010Sdougb#h	44a44c49 35b22601 a9c7054c 8c56cf57 9b6f6ed5
221153816Sdougb#
222234010Sdougb