1#	$OpenBSD: leap-seconds.list,v 1.1 2023/11/17 21:51:37 millert Exp $
2#
3#	In the following text, the symbol '#' introduces
4#	a comment, which continues from that symbol until
5#	the end of the line. A plain comment line has a
6#	whitespace character following the comment indicator.
7#	There are also special comment lines defined below.
8#	A special comment will always have a non-whitespace
9#	character in column 2.
10#
11#	A blank line should be ignored.
12#
13#	The following table shows the corrections that must
14#	be applied to compute International Atomic Time (TAI)
15#	from the Coordinated Universal Time (UTC) values that
16#	are transmitted by almost all time services.
17#
18#	The first column shows an epoch as a number of seconds
19#	since 1 January 1900, 00:00:00 (1900.0 is also used to
20#	indicate the same epoch.) Both of these time stamp formats
21#	ignore the complexities of the time scales that were
22#	used before the current definition of UTC at the start
23#	of 1972. (See note 3 below.)
24#	The second column shows the number of seconds that
25#	must be added to UTC to compute TAI for any timestamp
26#	at or after that epoch. The value on each line is
27#	valid from the indicated initial instant until the
28#	epoch given on the next one or indefinitely into the
29#	future if there is no next line.
30#	(The comment on each line shows the representation of
31#	the corresponding initial epoch in the usual
32#	day-month-year format. The epoch always begins at
33#	00:00:00 UTC on the indicated day. See Note 5 below.)
34#
35#	Important notes:
36#
37#	1. Coordinated Universal Time (UTC) is often referred to
38#	as Greenwich Mean Time (GMT). The GMT time scale is no
39#	longer used, and the use of GMT to designate UTC is
40#	discouraged.
41#
42#	2. The UTC time scale is realized by many national
43#	laboratories and timing centers. Each laboratory
44#	identifies its realization with its name: Thus
45#	UTC(NIST), UTC(USNO), etc. The differences among
46#	these different realizations are typically on the
47#	order of a few nanoseconds (i.e., 0.000 000 00x s)
48#	and can be ignored for many purposes. These differences
49#	are tabulated in Circular T, which is published monthly
50#	by the International Bureau of Weights and Measures
51#	(BIPM). See www.bipm.org for more information.
52#
53#	3. The current definition of the relationship between UTC
54#	and TAI dates from 1 January 1972. A number of different
55#	time scales were in use before that epoch, and it can be
56#	quite difficult to compute precise timestamps and time
57#	intervals in those "prehistoric" days. For more information,
58#	consult:
59#
60#		The Explanatory Supplement to the Astronomical
61#		Ephemeris.
62#	or
63#		Terry Quinn, "The BIPM and the Accurate Measurement
64#		of Time," Proc. of the IEEE, Vol. 79, pp. 894-905,
65#		July, 1991. <http://dx.doi.org/10.1109/5.84965>
66#		reprinted in:
67#		   Christine Hackman and Donald B Sullivan (eds.)
68#		   Time and Frequency Measurement
69#		   American Association of Physics Teachers (1996)
70#		   <http://tf.nist.gov/general/pdf/1168.pdf>, pp. 75-86
71#
72#	4. The decision to insert a leap second into UTC is currently
73#	the responsibility of the International Earth Rotation and
74#	Reference Systems Service. (The name was changed from the
75#	International Earth Rotation Service, but the acronym IERS
76#	is still used.)
77#
78#	Leap seconds are announced by the IERS in its Bulletin C.
79#
80#	See www.iers.org for more details.
81#
82#	Every national laboratory and timing center uses the
83#	data from the BIPM and the IERS to construct UTC(lab),
84#	their local realization of UTC.
85#
86#	Although the definition also includes the possibility
87#	of dropping seconds ("negative" leap seconds), this has
88#	never been done and is unlikely to be necessary in the
89#	foreseeable future.
90#
91#	5. If your system keeps time as the number of seconds since
92#	some epoch (e.g., NTP timestamps), then the algorithm for
93#	assigning a UTC time stamp to an event that happens during a positive
94#	leap second is not well defined. The official name of that leap
95#	second is 23:59:60, but there is no way of representing that time
96#	in these systems.
97#	Many systems of this type effectively stop the system clock for
98#	one second during the leap second and use a time that is equivalent
99#	to 23:59:59 UTC twice. For these systems, the corresponding TAI
100#	timestamp would be obtained by advancing to the next entry in the
101#	following table when the time equivalent to 23:59:59 UTC
102#	is used for the second time. Thus the leap second which
103#	occurred on 30 June 1972 at 23:59:59 UTC would have TAI
104#	timestamps computed as follows:
105#
106#	...
107#	30 June 1972 23:59:59 (2287785599, first time):	TAI= UTC + 10 seconds
108#	30 June 1972 23:59:60 (2287785599,second time):	TAI= UTC + 11 seconds
109#	1  July 1972 00:00:00 (2287785600)		TAI= UTC + 11 seconds
110#	...
111#
112#	If your system realizes the leap second by repeating 00:00:00 UTC twice
113#	(this is possible but not usual), then the advance to the next entry
114#	in the table must occur the second time that a time equivalent to
115#	00:00:00 UTC is used. Thus, using the same example as above:
116#
117#	...
118#       30 June 1972 23:59:59 (2287785599):		TAI= UTC + 10 seconds
119#       30 June 1972 23:59:60 (2287785600, first time):	TAI= UTC + 10 seconds
120#       1  July 1972 00:00:00 (2287785600,second time):	TAI= UTC + 11 seconds
121#	...
122#
123#	in both cases the use of timestamps based on TAI produces a smooth
124#	time scale with no discontinuity in the time interval. However,
125#	although the long-term behavior of the time scale is correct in both
126#	methods, the second method is technically not correct because it adds
127#	the extra second to the wrong day.
128#
129#	This complexity would not be needed for negative leap seconds (if they
130#	are ever used). The UTC time would skip 23:59:59 and advance from
131#	23:59:58 to 00:00:00 in that case. The TAI offset would decrease by
132#	1 second at the same instant. This is a much easier situation to deal
133#	with, since the difficulty of unambiguously representing the epoch
134#	during the leap second does not arise.
135#
136#	Some systems implement leap seconds by amortizing the leap second
137#	over the last few minutes of the day. The frequency of the local
138#	clock is decreased (or increased) to realize the positive (or
139#	negative) leap second. This method removes the time step described
140#	above. Although the long-term behavior of the time scale is correct
141#	in this case, this method introduces an error during the adjustment
142#	period both in time and in frequency with respect to the official
143#	definition of UTC.
144#
145#	Questions or comments to:
146#		Judah Levine
147#		Time and Frequency Division
148#		NIST
149#		Boulder, Colorado
150#		Judah.Levine@nist.gov
151#
152#	Last Update of leap second values:   8 July 2016
153#
154#	The following line shows this last update date in NTP timestamp
155#	format. This is the date on which the most recent change to
156#	the leap second data was added to the file. This line can
157#	be identified by the unique pair of characters in the first two
158#	columns as shown below.
159#
160#$	 3676924800
161#
162#	The NTP timestamps are in units of seconds since the NTP epoch,
163#	which is 1 January 1900, 00:00:00. The Modified Julian Day number
164#	corresponding to the NTP time stamp, X, can be computed as
165#
166#	X/86400 + 15020
167#
168#	where the first term converts seconds to days and the second
169#	term adds the MJD corresponding to the time origin defined above.
170#	The integer portion of the result is the integer MJD for that
171#	day, and any remainder is the time of day, expressed as the
172#	fraction of the day since 0 hours UTC. The conversion from day
173#	fraction to seconds or to hours, minutes, and seconds may involve
174#	rounding or truncation, depending on the method used in the
175#	computation.
176#
177#	The data in this file will be updated periodically as new leap
178#	seconds are announced. In addition to being entered on the line
179#	above, the update time (in NTP format) will be added to the basic
180#	file name leap-seconds to form the name leap-seconds.<NTP TIME>.
181#	In addition, the generic name leap-seconds.list will always point to
182#	the most recent version of the file.
183#
184#	This update procedure will be performed only when a new leap second
185#	is announced.
186#
187#	The following entry specifies the expiration date of the data
188#	in this file in units of seconds since the origin at the instant
189#	1 January 1900, 00:00:00. This expiration date will be changed
190#	at least twice per year whether or not a new leap second is
191#	announced. These semi-annual changes will be made no later
192#	than 1 June and 1 December of each year to indicate what
193#	action (if any) is to be taken on 30 June and 31 December,
194#	respectively. (These are the customary effective dates for new
195#	leap seconds.) This expiration date will be identified by a
196#	unique pair of characters in columns 1 and 2 as shown below.
197#	In the unlikely event that a leap second is announced with an
198#	effective date other than 30 June or 31 December, then this
199#	file will be edited to include that leap second as soon as it is
200#	announced or at least one month before the effective date
201#	(whichever is later).
202#	If an announcement by the IERS specifies that no leap second is
203#	scheduled, then only the expiration date of the file will
204#	be advanced to show that the information in the file is still
205#	current -- the update time stamp, the data and the name of the file
206#	will not change.
207#
208#	Updated through IERS Bulletin C65
209#	File expires on:  28 December 2023
210#
211#@	3912710400
212#
2132272060800	10	# 1 Jan 1972
2142287785600	11	# 1 Jul 1972
2152303683200	12	# 1 Jan 1973
2162335219200	13	# 1 Jan 1974
2172366755200	14	# 1 Jan 1975
2182398291200	15	# 1 Jan 1976
2192429913600	16	# 1 Jan 1977
2202461449600	17	# 1 Jan 1978
2212492985600	18	# 1 Jan 1979
2222524521600	19	# 1 Jan 1980
2232571782400	20	# 1 Jul 1981
2242603318400	21	# 1 Jul 1982
2252634854400	22	# 1 Jul 1983
2262698012800	23	# 1 Jul 1985
2272776982400	24	# 1 Jan 1988
2282840140800	25	# 1 Jan 1990
2292871676800	26	# 1 Jan 1991
2302918937600	27	# 1 Jul 1992
2312950473600	28	# 1 Jul 1993
2322982009600	29	# 1 Jul 1994
2333029443200	30	# 1 Jan 1996
2343076704000	31	# 1 Jul 1997
2353124137600	32	# 1 Jan 1999
2363345062400	33	# 1 Jan 2006
2373439756800	34	# 1 Jan 2009
2383550089600	35	# 1 Jul 2012
2393644697600	36	# 1 Jul 2015
2403692217600	37	# 1 Jan 2017
241#
242#	the following special comment contains the
243#	hash value of the data in this file computed
244#	use the secure hash algorithm as specified
245#	by FIPS 180-1. See the files in ~/pub/sha for
246#	the details of how this hash value is
247#	computed. Note that the hash computation
248#	ignores comments and whitespace characters
249#	in data lines. It includes the NTP values
250#	of both the last modification time and the
251#	expiration time of the file, but not the
252#	white space on those lines.
253#	the hash line is also ignored in the
254#	computation.
255#
256#h 	e76a99dc 65f15cc7 e613e040 f5078b5e b23834fe
257