!62 upgrade to tzdata-2021a

From: @SuperSix173
Reviewed-by: @wangbin224
Signed-off-by: @wangbin224
This commit is contained in:
openeuler-ci-bot 2021-06-25 06:21:02 +00:00 committed by Gitee
commit a8915eedfd
103 changed files with 8 additions and 9925 deletions

View File

@ -1,89 +0,0 @@
From efbae189bc3eb2b7c1efbe79ed6e2ab7b22cae24 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 30 Jun 2020 16:39:43 -0700
Subject: [PATCH 18/47] Cite Mirmalek on Martian timekeeping
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* theory.html (Time and time zones on other planets):
Update discussion of Martian timekeeping and cite Mirmalek 2020.
(Thanks to Michelle Bastian for a pointer to Mirmaleks earlier work.)
---
theory.html | 31 +++++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/theory.html b/theory.html
index 1a5b568..22b9815 100644
--- a/theory.html
+++ b/theory.html
@@ -1327,17 +1327,21 @@ They sometimes disagree.
<section>
<h2 id="planets">Time and time zones on other planets</h2>
<p>
-Some people's work schedules
-use <a href="https://en.wikipedia.org/wiki/Timekeeping_on_Mars">Mars time</a>.
+Some people's work schedules have used
+<a href="https://en.wikipedia.org/wiki/Timekeeping_on_Mars">Mars time</a>.
Jet Propulsion Laboratory (JPL) coordinators kept Mars time on
and off during the
<a href="https://en.wikipedia.org/wiki/Mars_Pathfinder">Mars
-Pathfinder</a> mission.
+Pathfinder</a> mission (1997).
Some of their family members also adapted to Mars time.
Dozens of special Mars watches were built for JPL workers who kept
-Mars time during the Mars Exploration Rovers mission (2004).
-These timepieces look like normal Seikos and Citizens but use Mars
-seconds rather than terrestrial seconds.
+Mars time during the
+<a href="https://en.wikipedia.org/wiki/Mars_Exploration_Rover">Mars
+Exploration Rovers (MER)</a> mission (2004&ndash;2018).
+These timepieces looked like normal Seikos and Citizens but were adjusted
+to use Mars seconds rather than terrestrial seconds, although
+unfortunately the adjusted watches were unreliable and appear to have
+had only limited use.
</p>
<p>
@@ -1345,6 +1349,8 @@ A Mars solar day is called a "sol" and has a mean period equal to
about 24 hours 39 minutes 35.244 seconds in terrestrial time.
It is divided into a conventional 24-hour clock, so each Mars second
equals about 1.02749125 terrestrial seconds.
+(One MER worker noted, "If I am working Mars hours, and Mars hours are
+2.5% more than Earth hours, shouldn't I get an extra 2.5% pay raise?")
</p>
<p>
@@ -1360,12 +1366,12 @@ called Mars Coordinated Time (<abbr>MTC</abbr>).
<p>
Each landed mission on Mars has adopted a different reference for
solar timekeeping, so there is no real standard for Mars time zones.
-For example, the
-<a href="https://en.wikipedia.org/wiki/Mars_Exploration_Rover">Mars
-Exploration Rover</a> project (2004) defined two time zones "Local
+For example, the MER mission defined two time zones "Local
Solar Time A" and "Local Solar Time B" for its two missions, each zone
designed so that its time equals local true solar time at
approximately the middle of the nominal mission.
+The A and B zones differ enough so that an MER worker assigned to
+the A zone might suffer "Mars lag" when switching to work in the B zone.
Such a "time zone" is not particularly suited for any application
other than the mission itself.
</p>
@@ -1414,7 +1420,12 @@ Sources for time on other planets:
Michael Allison and Robert Schmunk,
"<a href="https://www.giss.nasa.gov/tools/mars24/help/notes.html">Technical
Notes on Mars Solar Time as Adopted by the Mars24 Sunclock</a>"
- (2018-12-13).
+ (2020-03-08).
+ </li>
+ <li>
+ Zara Mirmalek,
+ <em><a href="https://mitpress.mit.edu/books/making-time-mars">Making
+ Time on Mars</a></em>, MIT Press (March 2020), ISBN 978-0262043854.
</li>
<li>
Jia-Rui Chong,
--
1.8.3.1

View File

@ -1,42 +0,0 @@
From d7451484e7b947b79c30dff4304a599f6c1e470e Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 28 Aug 2020 17:54:22 -0700
Subject: [PATCH 30/47] Cite Rishi et al in tz-link
* tz-link.html (Costs and benefits of time shifts):
Add citation. (Thanks to Arthur David Olson.)
---
tz-link.html | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/tz-link.html b/tz-link.html
index 8141d71..6dcb654 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -905,7 +905,8 @@ href="http://sohma.armada.mil.uy/index.php/servicios/datos-astronomicos" hreflan
<h2 id="costs">Costs and benefits of time shifts</h2>
<p>Various sources argue for and against daylight saving time and time
zone shifts, and many scientific studies have been conducted. This
-section summarizes reviews of scientific literature in the area.</p>
+section summarizes reviews and position statements based on
+scientific literature in the area.</p>
<ul>
<li>Carey RN, Sarma KM.
<a href="https://bmjopen.bmj.com/content/7/6/e014319.long">Impact of
@@ -923,6 +924,13 @@ doi:<a href="https://doi.org/10.5547/01956574.39.2.thav">10.5547/01956574.39.2.t
This analyzes research literature and concludes, "Electricity savings
are larger for countries farther away from the equator, while
subtropical regions consume more electricity because of DST."</li>
+<li>Rishi MA, Ahmed O, Barrantes Perez JH <em>et al</em>.
+<a href="https://jcsm.aasm.org/doi/10.5664/jcsm.8780">Daylight saving time:
+an American Academy of Sleep Medicine position statement</a>.
+<em>J Clin Sleep Med.</em>
+2020;<a href="https://doi.org/10.5664/jcsm.8780">10.5664/jcsm.8780</a>.
+This argues for permanent standard time due to health risks of both
+DST transitions and permanent DST.</li>
<li>Roenneberg T, Winnebeck EC, Klerman EB.
<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6692659/">Daylight
saving time and artificial time zones &ndash; a battle between
--
1.8.3.1

View File

@ -1,29 +0,0 @@
From 43dda7dbe5ec831e2f0f14626e707200dd421239 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 16 Oct 2020 19:11:47 -0700
Subject: [PATCH] Cite Tom Scott on Danish time
* tz-art.html (Documentaries): Add "Why Denmark is .17 Seconds
Behind The World" (thanks to Jim Eggert).
---
tz-art.html | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tz-art.html b/tz-art.html
index 5de546a..72b9654 100644
--- a/tz-art.html
+++ b/tz-art.html
@@ -22,6 +22,10 @@ into problems that programmers have with timekeeping.</li>
Explaining The Mysteries Of Time Zones</a>" (2017; 2:15)
briefly says why France has more time zones than Russia.
<li>
+"<a href="https://www.youtube.com/watch?v=yRz-Dl60Lfc">Why Denmark is
+.17 Seconds Behind The World</a>" (2019; 6:29) explains why Denmark and
+the United Kingdom don't exactly follow their own law about civil time.
+<li>
"About Time" (1962; 59 minutes) is part of the
Bell Science extravaganza, with Frank Baxter, Richard Deacon, and Les Tremayne.
Its advisor was Richard Feynman, and it was voiced by Mel Blanc.
--
1.8.3.1

View File

@ -1,29 +0,0 @@
From c8891f390fe3c593a5990acb0095218afc74d088 Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Tue, 22 Dec 2020 16:05:59 -0500
Subject: [PATCH] Cite publication of Volgograd change
* europe (Europe/Volgograd): Cite pravo.gov.ru.
(Thanks to Stepan Golosunov.)
---
europe | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/europe b/europe
index fd9e85b..bba4d56 100644
--- a/europe
+++ b/europe
@@ -2900,6 +2900,10 @@ Zone Europe/Astrakhan 3:12:12 - LMT 1924 May
# From Stepan Golosunov (2020-12-05):
# Currently proposed text for the second reading (expected on December 8) ...
# changes the date to December 27. https://v1.ru/text/gorod/2020/12/04/69601031/
+#
+# From Stepan Golosunov (2020-12-22):
+# The law was published today on
+# http://publication.pravo.gov.ru/Document/View/0001202012220002
Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
3:00 - +03 1930 Jun 21
--
1.8.3.1

View File

@ -1,461 +0,0 @@
From c5f6ef85188c210a4669ce5c8778983dcb4369f3 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 4 Oct 2020 13:43:00 -0700
Subject: [PATCH 43/47] Convert tz-how-to.html to HTML 5
This simplifies maintenance and should not affect appearance.
* tz-how-to.html: Convert to HTML 5, preserving the old
appearance as much as possible on Firefox 81.
* Makefile (SGML_TOPDIR, SGML_DTDDIR, SGML_SEARCH_PATH)
(SGML_CATALOG_FILES, VALIDATE, VALIDATE_FLAGS, VALIDATE_ENV):
Remove; no longer needed.
(check_tz-how-to.html): Check this just like the other HTML files.
---
Makefile | 26 +-----------
tz-how-to.html | 130 ++++++++++++++++++++++++++++++++-------------------------
2 files changed, 74 insertions(+), 82 deletions(-)
diff --git a/Makefile b/Makefile
index 75b906d..28972c6 100644
--- a/Makefile
+++ b/Makefile
@@ -412,26 +412,6 @@ CURL= curl
# Name of GNU Privacy Guard <https://gnupg.org/>, used to sign distributions.
GPG= gpg
-# The path where SGML DTDs are kept and the catalog file(s) to use when
-# validating HTML 4.01. The default should work on both Debian and Red Hat.
-SGML_TOPDIR= /usr
-SGML_DTDDIR= $(SGML_TOPDIR)/share/xml/w3c-sgml-lib/schema/dtd
-SGML_SEARCH_PATH= $(SGML_DTDDIR)/REC-html401-19991224
-SGML_CATALOG_FILES= \
- $(SGML_TOPDIR)/share/doc/w3-recs/html/www.w3.org/TR/1999/REC-html401-19991224/HTML4.cat:$(SGML_TOPDIR)/share/sgml/html/4.01/HTML4.cat
-
-# The name, arguments and environment of a program to validate HTML 4.01.
-# See <http://openjade.sourceforge.net/doc/> for a validator, and
-# <https://validator.w3.org/source/> for a validation library.
-# Set VALIDATE=':' if you do not have such a program.
-VALIDATE = nsgmls
-VALIDATE_FLAGS = -s -B -wall -wno-unused-param
-VALIDATE_ENV = \
- SGML_CATALOG_FILES='$(SGML_CATALOG_FILES)' \
- SGML_SEARCH_PATH='$(SGML_SEARCH_PATH)' \
- SP_CHARSET_FIXED=YES \
- SP_ENCODING=UTF-8
-
# This expensive test requires USE_LTZ.
# To suppress it, define this macro to be empty.
CHECK_TIME_T_ALTERNATIVES = check_time_t_alternatives
@@ -826,15 +806,13 @@ check_tzs: $(TZS) $(TZS_NEW)
check_web: $(CHECK_WEB_PAGES)
check_theory.html: theory.html
check_tz-art.html: tz-art.html
+check_tz-how-to.html: tz-how-to.html
check_tz-link.html: tz-link.html
-check_theory.html check_tz-art.html check_tz-link.html:
+check_theory.html check_tz-art.html check_tz-how-to.html check_tz-link.html:
$(CURL) -sS --url https://validator.w3.org/nu/ -F out=gnu \
-F file=@$$(expr $@ : 'check_\(.*\)') -o $@.out && \
test ! -s $@.out || { cat $@.out; exit 1; }
mv $@.out $@
-check_tz-how-to.html: tz-how-to.html
- $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) tz-how-to.html
- touch $@
# Check that zishrink.awk does not alter the data, and that ziguard.awk
# preserves main-format data.
diff --git a/tz-how-to.html b/tz-how-to.html
index 3cb446f..bf3e86f 100644
--- a/tz-how-to.html
+++ b/tz-how-to.html
@@ -1,12 +1,16 @@
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "http://www.w3.org/TR/html4/strict.dtd">
-<html>
+<!DOCTYPE html>
+<html lang="en">
<head>
<title>How to Read the tz Database</title>
-<meta http-equiv="Content-type" content='text/html; charset="UTF-8"'>
-<style type="text/css">
+<meta charset="UTF-8">
+<style>
pre {margin-left: 2em; white-space: pre-wrap;}
+pre.td {margin-left: 0;}
+td {text-align: center;}
+table {border: 1px outset;}
+th, td {border: 1px inset;}
+table.rule {border: none; margin: auto;}
+td.footnote {text-align: left;}
</style>
</head>
<body>
@@ -31,13 +35,15 @@ about the zones.</p>
for Chicago (from the <code>northamerica</code> file in
the <code>data</code> subdirectory):</p>
-<table border="1">
+<table>
<tr>
<th colspan="6">From the Source File</th>
</tr>
<tr>
- <td colspan="6" align="center"><table><tr><td>
-<pre>
+ <td colspan="6">
+ <table class="rule">
+ <tr><td style="border:none;text-align:left">
+<pre class="td">
#Rule NAME FROM TO - IN ON AT SAVE LETTER
Rule Chicago 1920 only - Jun 13 2:00 1:00 D
Rule Chicago 1920 1921 - Oct lastSun 2:00 0 S
@@ -58,35 +64,35 @@ Rule Chicago 1955 1966 - Oct lastSun 2:00 0 S
<th>At</th>
<th>Action</th>
</tr>
-<tr align="center">
+<tr>
<td colspan="2">1920 only</td>
<td colspan="2">June 13<small><sup>th</sup></small></td>
<td rowspan="6">02:00 local</td>
<td>go to daylight saving time</td>
</tr>
-<tr align="center">
+<tr>
<td>1920</td>
<td>1921</td>
<td rowspan="5">last Sunday</td>
<td>in October</td>
<td>return to standard time</td>
</tr>
-<tr align="center">
+<tr>
<td colspan="2">1921 only</td>
<td>in March</td>
<td rowspan="2">go to daylight saving time</td>
</tr>
-<tr align="center">
+<tr>
<td rowspan="2">1922</td>
<td>1966</td>
<td>in April</td>
</tr>
-<tr align="center">
+<tr>
<td>1954</td>
<td>in September</td>
<td rowspan="2">return to standard time</td>
</tr>
-<tr align="center">
+<tr>
<td>1955</td>
<td>1966</td>
<td>in October</td>
@@ -150,13 +156,15 @@ time changed in 1955. Got it?</p>
<p>OK, now for the somewhat more interesting &ldquo;US&rdquo; rules:</p>
-<table border="1">
+<table>
<tr>
<th colspan="6">From the Source File</th>
</tr>
<tr>
- <td colspan="6" align="center"><table><tr><td>
-<pre>
+ <td colspan="6">
+ <table class="rule">
+ <tr><td style="border:none;text-align:left">
+<pre class="td">
#Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule US 1918 1919 - Mar lastSun 2:00 1:00 D
Rule US 1918 1919 - Oct lastSun 2:00 0 S
@@ -184,7 +192,7 @@ Rule US 2007 max - Nov Sun&gt;=1 2:00 0 S
<th>At</th>
<th>Action</th>
</tr>
-<tr align="center">
+<tr>
<td rowspan="2">1918</td>
<td rowspan="2">1919</td>
<td rowspan="2">last Sunday</td>
@@ -192,16 +200,16 @@ Rule US 2007 max - Nov Sun&gt;=1 2:00 0 S
<td rowspan="3">02:00 local</td>
<td>go to daylight saving time</td>
</tr>
-<tr align="center">
+<tr>
<td>in October</td>
<td>return to standard time</td>
</tr>
-<tr align="center">
+<tr>
<td colspan="2">1942 only</td>
<td colspan="2">February 9<small><sup>th</sup></small></td>
<td>go to &ldquo;war time&rdquo;</td>
</tr>
-<tr align="center">
+<tr>
<td colspan="2" rowspan="2">1945 only</td>
<td colspan="2">August 14<small><sup>th</sup></small></td>
<td>23:00 <a href="https://en.wikipedia.org/wiki/Universal_Time">UT</a></td>
@@ -210,47 +218,47 @@ Rule US 2007 max - Nov Sun&gt;=1 2:00 0 S
clocks don&rsquo;t change
</td>
</tr>
-<tr align="center">
+<tr>
<td colspan="2">September 30<small><sup>th</sup></small></td>
<td rowspan="9">02:00 local</td>
<td rowspan="2">return to standard time</td>
</tr>
-<tr align="center">
+<tr>
<td rowspan="2">1967</td>
<td>2006</td>
<td rowspan="2">last Sunday</td>
<td>in October</td>
</tr>
-<tr align="center">
+<tr>
<td>1973</td>
<td>in April</td>
<td rowspan="6">go to daylight saving time</td>
</tr>
-<tr align="center">
+<tr>
<td colspan="2">1974 only</td>
<td colspan="2">January 6<small><sup>th</sup></small></td>
</tr>
-<tr align="center">
+<tr>
<td colspan="2">1975 only</td>
<td colspan="2">February 23<small><sup>rd</sup></small></td>
</tr>
-<tr align="center">
+<tr>
<td>1976</td>
<td>1986</td>
<td>last Sunday</td>
<td rowspan="2">in April</td>
</tr>
-<tr align="center">
+<tr>
<td>1987</td>
<td>2006</td>
<td>first Sunday</td>
</tr>
-<tr align="center">
+<tr>
<td rowspan="2">2007</td>
<td rowspan="2">present</td>
<td colspan="2">second Sunday in March</td>
</tr>
-<tr align="center">
+<tr>
<td colspan="2">first Sunday in November</td>
<td>return to standard time</td>
</tr>
@@ -316,13 +324,15 @@ rule, so there should be no change.</li>
<p>OK, now let&rsquo;s look at a Zone record:</p>
-<table border="1">
+<table>
<tr>
<th colspan="5">From the Source File</th>
</tr>
<tr>
- <td colspan="6" align="center"><table><tr><td>
-<pre>
+ <td colspan="5">
+ <table class="rule">
+ <tr><td style="border:none;text-align:left">
+<pre class="td">
#Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24
-6:00 US C%sT 1920
@@ -350,49 +360,49 @@ Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24
<th>Date</th>
<th>Time</th>
</tr>
-<tr align="center">
+<tr>
<td>&minus;5:50:36</td>
<td>not observed</td>
<td>LMT</td>
<td>1883-11-18</td>
<td>12:09:24</td>
</tr>
-<tr align="center">
+<tr>
<td rowspan="2">&minus;6:00:00</td>
<td>US rules</td>
<td rowspan="2">CST or CDT</td>
<td>1920-01-01</td>
<td>00:00:00</td>
</tr>
-<tr align="center">
+<tr>
<td>Chicago rules</td>
<td>1936-03-01</td>
<td rowspan="2">02:00:00</td>
</tr>
-<tr align="center">
+<tr>
<td>&minus;5:00:00</td>
<td>not observed</td>
<td>EST</td>
<td>1936-11-15</td>
</tr>
-<tr align="center">
+<tr>
<td rowspan="4">&minus;6:00:00</td>
<td>Chicago rules</td>
<td>CST or CDT</td>
<td>1942-01-01</td>
<td rowspan="3">00:00:00</td>
</tr>
-<tr align="center">
+<tr>
<td>US rules</td>
<td>CST, CWT or CPT</td>
<td>1946-01-01</td>
</tr>
-<tr align="center">
+<tr>
<td>Chicago rules</td>
<td rowspan="2">CST or CDT</td>
<td>1967-01-01</td>
</tr>
-<tr align="center">
+<tr>
<td>US rules</td>
<td colspan="2">&mdash;</td>
</tr>
@@ -557,13 +567,15 @@ the true offset is undefined.
<p>As a final example, here&rsquo;s the complete history for Hawaii:</p>
-<table border="1">
+<table>
<tr>
<th colspan="6">Relevant Excerpts from the US Rules</th>
</tr>
<tr>
- <td colspan="6" align="center"><table><tr><td>
-<pre>
+ <td colspan="6">
+ <table class="rule">
+ <tr><td style="border:none;text-align:left">
+<pre class="td">
#Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule US 1918 1919 - Oct lastSun 2:00 0 S
Rule US 1942 only - Feb 9 2:00 1:00 W # War
@@ -576,8 +588,10 @@ Rule US 1945 only - Sep lastSun 2:00 0 S
<th colspan="6">The Zone Record</th>
</tr>
<tr>
- <td colspan="6" align="center"><table><tr><td>
-<pre>
+ <td colspan="6">
+ <table class="rule">
+ <tr><td style="border:none;text-align:left">
+<pre class="td">
#Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
-10:30 - HST 1933 Apr 30 2:00
@@ -602,7 +616,7 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
<th>Date</th>
<th>Time</th>
</tr>
-<tr align="center">
+<tr>
<td>&minus;10:31:26</td>
<td>&mdash;</td>
<td>LMT</td>
@@ -610,7 +624,7 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
<td>1896-01-13</td>
<td>12:00</td>
</tr>
-<tr align="center">
+<tr>
<td>&minus;10:30</td>
<td>+0:01:26</td>
<td>HST</td>
@@ -618,7 +632,7 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
<td>1933-04-30</td>
<td>02:00</td>
</tr>
-<tr align="center">
+<tr>
<td>&minus;9:30</td>
<td>+1:00</td>
<td>HDT</td>
@@ -626,7 +640,7 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
<td>1933-05-21</td>
<td>12:00</td>
</tr>
-<tr align="center">
+<tr>
<td>&minus;10:30&sup1;</td>
<td>&minus;1:00&sup1;</td>
<td>HST&sup1;</td>
@@ -634,7 +648,7 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
<td>1942-02-09</td>
<td>02:00</td>
</tr>
-<tr align="center">
+<tr>
<td rowspan="2">&minus;9:30</td>
<td>+1:00</td>
<td>HWT</td>
@@ -642,38 +656,38 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
<td>1945-08-14</td>
<td>13:30&sup2;</td>
</tr>
-<tr align="center">
+<tr>
<td>0</td>
<td>HPT</td>
<td>Hawaii peace time</td>
<td>1945-09-30</td>
<td rowspan="2">02:00</td>
</tr>
-<tr align="center">
+<tr>
<td>&minus;10:30</td>
<td>&minus;1:00</td>
<td rowspan="2">HST</td>
<td rowspan="2">Hawaii standard time</td>
<td>1947-06-08</td>
</tr>
-<tr align="center">
+<tr>
<td>&minus;10:00&sup3;</td>
<td>+0:30&sup3;</td>
<td colspan="2">&mdash;</td>
</tr>
<tr>
- <td colspan="6">
+ <td colspan="6" class="footnote">
&sup1;Switching to US rules&hellip;most recent transition (in 1919) was to standard time
</td>
</tr>
<tr>
- <td colspan="6">
+ <td colspan="6" class="footnote">
&sup2;23:00 <a href="https://en.wikipedia.org/wiki/Universal_Time">UT</a>
+ (&minus;9:30) = 13:30 local
</td>
</tr>
<tr>
- <td colspan="6">
+ <td colspan="6" class="footnote">
&sup3;Since <a href="https://en.wikipedia.org/wiki/ISO_8601">1947&ndash;06&ndash;08T12:30Z</a>,
the civil time in Hawaii has been
<a href="https://en.wikipedia.org/wiki/Universal_Time">UT</a>/<a href="https://en.wikipedia.org/wiki/Coordinated_Universal_Time">UTC</a>
--
1.8.3.1

View File

@ -1,105 +0,0 @@
From 316c1598e166e15c27fe611cacd81aeada2a836d Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Thu, 10 Dec 2020 22:39:46 -0500
Subject: [PATCH] Correct LMT and pre-1919 transitions for Nigeria
(Thanks to P Chan.)
* NEWS: Mention this.
* africa (Africa/Lagos): Move LMT 1 s west; add several pre-1919
transitions with references.
---
NEWS | 2 ++
africa | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 64 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 041d224..991b737 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,8 @@ Unreleased, experimental changes
- Ghana: several 1915 through 1956 transitions
- Israel and Palestine: several 1940 through 1985 transitions
- Kenya and adjacent: several 1908 through 1960 transitions
+ - Nigeria and adjacent: correcting LMT in Lagos, and several 1905
+ through 1919 transitions
- Seychelles: the introduction of standard time in 1907, not 1906
- Vanuatu: DST in 1973-1974, and a corrected 1984 transition
(Thanks to P Chan.)
diff --git a/africa b/africa
index e0200a9..59cf501 100644
--- a/africa
+++ b/africa
@@ -1318,8 +1318,69 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
# See Africa/Lagos.
# Nigeria
+
+# From P Chan (2020-12-03):
+# GMT was adopted as the standard time of Lagos on 1905-07-01.
+# Lagos Weekly Record, 1905-06-24, p 3
+# http://ddsnext.crl.edu/titles/31558#?c=0&m=668&s=0&cv=2&r=0&xywh=1446%2C5221%2C1931%2C1235
+# says "It is officially notified that on and after the 1st of July 1905
+# Greenwich Mean Solar Time will be adopted thought the Colony and
+# Protectorate, and that it will be necessary to put all clocks 13 minutes and
+# 35 seconds back, recording local mean time."
+#
+# It seemed that Lagos returned to LMT on 1908-07-01.
+# [The Lagos Standard], 1908-07-01, p 5
+# http://ddsnext.crl.edu/titles/31556#?c=0&m=78&s=0&cv=4&r=0&xywh=-92%2C3590%2C3944%2C2523
+# says "Scarcely have the people become accustomed to this new time, when
+# another official notice has now appeared announcing that from and after the
+# 1st July next, return will be made to local mean time."
+#
+# From P Chan (2020-11-27):
+# On 1914-01-01, standard time of GMT+0:30 was adopted for the unified Nigeria.
+# Colonial Reports - Annual. No. 878. Nigeria. Report for 1914. (April 1916),
+# p 27
+# https://libsysdigi.library.illinois.edu/ilharvest/Africana/Books2011-05/3064634/3064634_1914/3064634_1914_opt.pdf#page=27
+# "On January 1st [1914], a universal standard time for Nigeria was adopted,
+# viz., half an hour fast on Greenwich mean time, corresponding to the meridian
+# 7 [degrees] 30' E. long."
+# Lloyd's Register of Shipping (1915) says "Hitherto the time observed in Lagos
+# was the local mean time. On 1st January, 1914, standard time for the whole of
+# Nigeria was introduced ... Lagos time has been advanced about 16 minutes
+# accordingly."
+#
+# In 1919, standard time was changed to GMT+1.
+# Interpretation Ordinance (Cap 2)
+# The Laws of Nigeria, Containing the Ordinances of Nigeria, in Force on the
+# 1st Day of January, 1923, Vol.I [p 16]
+# https://books.google.com/books?id=BOMrAQAAMAAJ&pg=PA16
+# "The expression 'Standard time' means standard time as used in Nigeria:
+# namely, 60 minutes in advance of Greenwich mean time. (As amended by 18 of
+# 1919, s. 2.)"
+# From Tim Parenti (2020-12-10):
+# The Lagos Weekly Record, 1919-09-20, p 3 details discussion on the first
+# reading of this Bill by the Legislative Council of the Colony of Nigeria on
+# Thursday 1919-08-28:
+# http://ddsnext.crl.edu/titles/31558?terms&item_id=303484#?m=1118&c=1&s=0&cv=2&r=0&xywh=1261%2C3408%2C2994%2C1915
+# "The proposal is that the Globe should be divided into twelve zones East and
+# West of Greenwich, of one hour each, Nigeria falling into the zone with a
+# standard of one hour fast on Greenwich Mean Time. Nigeria standard time is
+# now 30 minutes in advance of Greenwich Mean Time ... according to the new
+# proposal, standard time will be advanced another 30 minutes". It was further
+# proposed that the firing of the time guns likewise be adjusted by 30 minutes
+# to compensate.
+# From Tim Parenti (2020-12-10), per P Chan (2020-12-11):
+# The text of Ordinance 18 of 1919, published in Nigeria Gazette, Vol 6, No 52,
+# shows that the change was assented to the following day and took effect "on
+# the 1st day of September, 1919."
+# Nigeria Gazette and Supplements 1919 Jan-Dec, Reference: 73266B-40,
+# img 245-246
+# https://microform.digital/boa/collections/77/volumes/539/nigeria-lagos-1887-1919
+
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
+Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1
+ 0:00 - GMT 1908 Jul 1
+ 0:13:35 - LMT 1914 Jan 1
+ 0:30 - +0030 1919 Sep 1
1:00 - WAT
Link Africa/Lagos Africa/Bangui # Central African Republic
Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo
--
1.8.3.1

View File

@ -1,94 +0,0 @@
From 08c326dfd9e1a0848787bcc57784801856d205f2 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 12 Jun 2020 18:49:00 -0700
Subject: [PATCH 16/47] Do not install 'posixrules' by default
* Makefile (POSIXRULES): Default to '-'.
* NEWS: Mention this.
---
Makefile | 36 ++++++++++++++++--------------------
NEWS | 5 +++++
2 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/Makefile b/Makefile
index 107f67e..0da7c3f 100644
--- a/Makefile
+++ b/Makefile
@@ -27,8 +27,7 @@ DATAFORM= main
# Change the line below for your timezone (after finding the one you want in
# one of the $(TDATA) source files, or adding it to a source file).
# Alternatively, if you discover you've got the wrong timezone, you can just
-# zic -l rightzone
-# to correct things.
+# 'zic -l -' to remove it, or 'zic -l rightzone' to change it.
# Use the command
# make zonenames
# to get a list of the values you can use for LOCALTIME.
@@ -37,33 +36,30 @@ LOCALTIME= GMT
# The POSIXRULES macro controls interpretation of nonstandard and obsolete
# POSIX-like TZ settings like TZ='EET-2EEST' that lack DST transition rules.
-# In the reference implementation, if you want something other than Eastern
-# United States time as a template for handling these settings, you can
-# change the line below (after finding the timezone you want in the
-# one of the $(TDATA) source files, or adding it to a source file).
-# A setting like TZ='EET-2EEST' is supposed to use the rules in the
-# template file to determine "spring forward" and "fall back" days and
-# times; the environment variable itself specifies UT offsets of standard and
-# daylight saving time.
-# Alternatively, if you discover you've got the wrong timezone, you can just
-# zic -p rightzone
-# to correct things.
-# Use the command
-# make zonenames
-# to get a list of the values you can use for POSIXRULES.
+# Such a setting uses the rules in a template file to determine
+# "spring forward" and "fall back" days and times; the environment
+# variable itself specifies UT offsets of standard and daylight saving time.
#
-# If POSIXRULES is empty, no template is installed; this is the intended
-# future default for POSIXRULES.
+# If POSIXRULES is '-', no template is installed; this is the default.
#
-# Nonempty POSIXRULES is obsolete and should not be relied on, because:
+# Any other value for POSIXRULES is obsolete and should not be relied on, as:
# * It does not work correctly in popular implementations such as GNU/Linux.
# * It does not work in the tzdb implementation for timestamps after 2037.
# * It is incompatible with 'zic -b slim' if POSIXRULES specifies transitions
# at standard time or UT rather than at local time.
# In short, software should avoid ruleless settings like TZ='EET-2EEST'
# and so should not depend on the value of POSIXRULES.
+#
+# If, despite the above, you want a template for handling these settings,
+# you can change the line below (after finding the timezone you want in the
+# one of the $(TDATA) source files, or adding it to a source file).
+# Alternatively, if you discover you've got the wrong timezone, you can just
+# 'zic -p -' to remove it, or 'zic -p rightzone' to change it.
+# Use the command
+# make zonenames
+# to get a list of the values you can use for POSIXRULES.
-POSIXRULES= America/New_York
+POSIXRULES= -
# Also see TZDEFRULESTRING below, which takes effect only
# if the time zone files cannot be accessed.
diff --git a/NEWS b/NEWS
index cdcdbc1..bfe02ea 100644
--- a/NEWS
+++ b/NEWS
@@ -29,6 +29,11 @@ Unreleased, experimental changes
The undocumented and ineffective tzsetwall function has been
removed.
+ Changes to build procedure
+
+ The Makefile now defaults POSIXRULES to '-', so the posixrules
+ feature (obsolete as of 2019b) is no longer installed by default.
+
Release 2020a - 2020-04-23 16:03:47 -0700
--
1.8.3.1

View File

@ -1,40 +0,0 @@
From 48e68fbfd181f4c23a52021dc27cc45fea75fa25 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 12 Nov 2020 12:45:42 -0800
Subject: [PATCH] Document "right" seconds better
* tz-link.html (Precision timekeeping):
Clarify "right" vs "posix" time_t.
---
tz-link.html | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/tz-link.html b/tz-link.html
index 10c40b5..eb4a235 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -1034,8 +1034,19 @@ title="International Earth Rotation and Reference Systems Service">IERS</abbr>
Bulletins</a> contains official publications of the International
Earth Rotation and Reference Systems Service, which decides when leap
seconds occur. The <code><abbr>tz</abbr></code> code and data support leap seconds
-via an optional "<code>right</code>" configuration, as opposed to the
-default "<code>posix</code>" configuration.</li>
+via an optional "<code>right</code>" configuration where a computer's internal
+<code>time_t</code> integer clock counts every <abbr>TAI</abbr> second,
+as opposed to the default "<code>posix</code>" configuration
+where the internal clock ignores leap seconds.
+The two configurations agree for timestamps starting with 1972-01-01 00:00:00
+UTC (<code>time_t</code> 63&thinsp;072&thinsp;000) and diverge for
+timestamps starting with <code>time_t</code> 78&thinsp;796&thinsp;800,
+which corresponds to the first leap second
+1972-06-30 23:59:60 UTC in the "<code>right</code>" configuration, and to
+1972-07-01 00:00:00 UTC in the "<code>posix</code>" configuration.
+In practice the two configurations also agree for timestamps before
+1972 even though the historical situation is messy, partly because
+neither UTC nor TAI is well-defined for sufficiently-old timestamps.</li>
<li><a href="https://developers.google.com/time/smear">Leap Smear</a>
discusses how to gradually adjust <abbr>POSIX</abbr> clocks near a
leap second so that they disagree with <abbr>UTC</abbr> by at most a
--
1.8.3.1

View File

@ -1,76 +0,0 @@
From c983a0fb70b566b47502fe19dba62d7c298386e7 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 7 Dec 2020 11:11:14 -0800
Subject: [PATCH] Document zic coalescing zone+DST transitions
* NEWS, zic.8: Document that zic coalesces transitions when
a zone falls back just before DST springs forward.
Document jump-back ambiguity
* zic.8: Document avoidance of two nearly-simultanous transitions
for Grand Turk.
---
NEWS | 5 +++++
zic.8 | 30 ++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+)
diff --git a/NEWS b/NEWS
index dd131a9..bd9a2d2 100644
--- a/NEWS
+++ b/NEWS
@@ -35,6 +35,11 @@ Unreleased, experimental changes
returning to Eastern Time with US DST in 2018, rather than as
maintaining EDT until 2015-11-01. (Thanks to P Chan.)
+ Changes to documentation
+
+ The zic man page now documents zic's coalescing of transitions
+ when a zone falls back just before DST springs forward.
+
Release 2020d - 2020-10-21 11:24:13 -0700
diff --git a/zic.8 b/zic.8
index dcd2fa3..2273dad 100644
--- a/zic.8
+++ b/zic.8
@@ -590,6 +590,36 @@ first transition into standard time.
In a single zone it is an error if two rules take effect at the same
instant, or if two zone changes take effect at the same instant.
.PP
+If a continuation line subtracts from the UT offset after a transition that
+would be interpreted to be later if using the continuation line's rules, the
+.q "until"
+time of the earlier zone or continuation line is interpreted according
+to the continuation line's rules.
+For example:
+.br
+.ne 7
+.nf
+.in +2m
+.ta \w'# Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'max\0\0'u +\w'\*-\0\0'u +\w'Mar\0\0'u +\w'Sun>=8\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u
+.sp
+# Rule NAME FROM TO \*- IN ON AT SAVE LETTER/S
+Rule US 2007 max \*- Mar Sun>=8 2:00 1:00 D
+Rule US 2007 max \*- Nov Sun>=1 2:00 0 S
+.ta \w'Zone\0\0America/Grand_Turk\0\0'u +\w'STDOFF\0\0'u +\w'RULES\0\0'u +\w'FORMAT\0\0'u
+# Zone\0\0NAME STDOFF RULES FORMAT [UNTIL]
+Zone\0\0America/Grand_Turk \*-4:00 \*- AST 2018 Mar 11 2:00
+ \*-5:00 US E%sT
+.sp
+.in
+.fi
+Here, an incorrect reading would be there were two clock changes on 2018-03-11,
+the first from 02:00 AST (\*-04) to 01:00 EST (\*-05),
+and the second an hour later from 02:00 EST (\*-05) to 03:00 EDT (\*-04).
+However,
+.B zic
+interprets this more sensibly as a single transition from 02:00 AST (\*-04) to
+02:00 EDT (\*-04).
+.PP
A link line has the form
.sp
.nf
--
1.8.3.1

File diff suppressed because it is too large Load Diff

View File

@ -1,48 +0,0 @@
From 103e7868cf8fa91146c1b46012650a16ce29f9b0 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 18 Oct 2020 13:34:30 -0700
Subject: [PATCH] Fail on ZIC_BLOAT_DEFAULT typo
Also, try to pacify Coverity. Problem reported by Tom Lane in:
https://mm.icann.org/pipermail/tz/2020-October/029370.html
* zic.c (main): Use a static constant to try to pacify Coverity.
Also, check that the default is either "slim" or "fat".
---
zic.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/zic.c b/zic.c
index a47c052..a902b34 100644
--- a/zic.c
+++ b/zic.c
@@ -658,7 +658,8 @@ static const char * leapsec;
static const char * tzdefault;
/* -1 if the TZif output file should be slim, 0 if default, 1 if the
- output should be fat for backward compatibility. The default is slim. */
+ output should be fat for backward compatibility. ZIC_BLOAT_DEFAULT
+ determines the default. */
static int bloat;
static bool
@@ -795,8 +796,15 @@ _("%s: invalid time range: %s\n"),
}
if (optind == argc - 1 && strcmp(argv[optind], "=") == 0)
usage(stderr, EXIT_FAILURE); /* usage message by request */
- if (bloat == 0)
- bloat = strcmp(ZIC_BLOAT_DEFAULT, "slim") == 0 ? -1 : 1;
+ if (bloat == 0) {
+ static char const bloat_default[] = ZIC_BLOAT_DEFAULT;
+ if (strcmp(bloat_default, "slim") == 0)
+ bloat = -1;
+ else if (strcmp(bloat_default, "fat") == 0)
+ bloat = 1;
+ else
+ abort(); /* Configuration error. */
+ }
if (directory == NULL)
directory = TZDIR;
if (tzdefault == NULL)
--
1.8.3.1

View File

@ -1,74 +0,0 @@
From d5c1b97cd1eb0af1711af415bbd677b0510c718b Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Thu, 8 Oct 2020 17:52:53 -0400
Subject: [PATCH 47/47] Fiji observes DST from 2020-12-20 to 2021-01-17
* australasia (Fiji): Guess that the later-than-usual start date is a
one-time departure from the recent pattern.
* NEWS: Mention this.
---
NEWS | 13 +++++++++++++
australasia | 17 ++++++++++++++++-
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index c77f76d..298ad4d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,18 @@
News for the tz database
+Unreleased, experimental changes
+
+ Briefly:
+ Fiji starts DST later than usual, on 2020-12-20.
+
+ Changes to future timestamps
+ Fiji will start DST on 2020-12-20, instead of 2020-11-08 as
+ previously predicted. DST will still end on 2021-01-17.
+ (Thanks to Raymond Kumar and Alan Mintz.) Assume for now that
+ the later-than-usual start date is a one-time departure from the
+ recent pattern.
+
+
Release 2020b - 2020-10-06 18:35:04 -0700
Briefly:
diff --git a/australasia b/australasia
index a8886ff..aa7ab7f 100644
--- a/australasia
+++ b/australasia
@@ -381,6 +381,19 @@ Zone Indian/Cocos 6:27:40 - LMT 1900
# From Michael Deckers (2019-08-06):
# https://www.laws.gov.fj/LawsAsMade/downloadfile/848
+# From Raymond Kumar (2020-10-08):
+# [DST in Fiji] is from December 20th 2020, till 17th January 2021.
+# From Alan Mintz (2020-10-08):
+# https://www.laws.gov.fj/LawsAsMade/GetFile/1071
+# From Tim Parenti (2020-10-08):
+# https://www.fijivillage.com/news/Daylight-saving-from-Dec-20th-this-year-to-Jan-17th-2021-8rf4x5/
+# "Minister for Employment, Parveen Bala says they had never thought of
+# stopping daylight saving. He says it was just to decide on when it should
+# start and end. Bala says it is a short period..."
+# Since the end date is still in line with our ongoing predictions, assume for
+# now that the later-than-usual start date is a one-time departure from the
+# recent second Sunday in November pattern.
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
Rule Fiji 1999 2000 - Feb lastSun 3:00 0 -
@@ -392,7 +405,9 @@ Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
Rule Fiji 2015 max - Jan Sun>=12 3:00 0 -
-Rule Fiji 2019 max - Nov Sun>=8 2:00 1:00 -
+Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 -
+Rule Fiji 2020 only - Dec 20 2:00 1:00 -
+Rule Fiji 2021 max - Nov Sun>=8 2:00 1:00 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
12:00 Fiji +12/+13
--
1.8.3.1

View File

@ -1,39 +0,0 @@
From cd1769fe64ca8931d17016138399f31d509b1bec Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 2 Dec 2020 11:33:32 -0800
Subject: [PATCH] Fix Ghana again, for 1942 through 1946
(Thanks to P Chan.)
* africa (Ghana, Africa/Accra): Standard time was +0030 from
1942 through 1946.
---
africa | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/africa b/africa
index 429f783..27c987a 100644
--- a/africa
+++ b/africa
@@ -456,16 +456,16 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020
-Rule Ghana 1920 1946 - Jan 1 2:00 0 GMT
+Rule Ghana 1920 1942 - Jan 1 2:00 0 GMT
Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020
-Rule Ghana 1940 1945 - May 1 2:00 0:20 +0020
+Rule Ghana 1940 1941 - May 1 2:00 0:20 +0020
Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030
Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2
0:00 Ghana %s 1942 Feb 8
- 0:30 - +0030 1942 Oct 24
+ 0:30 - +0030 1946 Jan 6
0:00 Ghana %s
# Guinea
--
1.8.3.1

View File

@ -1,27 +0,0 @@
From 6e7558f1905deb07842fa329c54e0788914138aa Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 1 Dec 2020 14:48:43 -0800
Subject: [PATCH] Fix Ghana typo for 1919/1920
* africa (Ghana): Fix typo in previous change to these rules.
(Thanks to P Chan.)
---
africa | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/africa b/africa
index 285688d..85644f5 100644
--- a/africa
+++ b/africa
@@ -455,7 +455,7 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# This Ordinance abolished DST.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Ghana 1920 only - Nov 24 0:00 0:20 +0020
+Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020
Rule Ghana 1920 1946 - Jan 1 2:00 0 GMT
Rule Ghana 1921 1939 - Sep 1 2:00 0:20 +0020
Rule Ghana 1940 1945 - May 1 2:00 0:20 +0020
--
1.8.3.1

View File

@ -1,104 +0,0 @@
From f87ed56dae304043e45c7cdbcff88de02b34fed4 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 7 Jun 2020 16:22:24 -0700
Subject: [PATCH 07/47] Fix Hungarian transitions 1918-1983
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
(Thanks to Géza Nyáry.)
* NEWS: Mention this.
* europe (Hungary, Europe/Budapest): Update transitions.
---
NEWS | 6 ++++++
europe | 49 +++++++++++++++++++++++++------------------------
2 files changed, 31 insertions(+), 24 deletions(-)
diff --git a/NEWS b/NEWS
index 8362dcc..91ab463 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,12 @@ Unreleased, experimental changes
(Thanks to Milamber.) The first altered prediction is for 2023,
now predicted to spring-forward on April 30 instead of April 23.
+ Changes to past timestamps
+
+ Correct several transitions for Hungary for 1918/1983.
+ For example, the 1983-09-25 fall-back was at 01:00, not 03:00.
+ (Thanks to Géza Nyáry.)
+
Changes to code
The undocumented and ineffective tzsetwall function has been
diff --git a/europe b/europe
index 698a7ba..48e1eeb 100644
--- a/europe
+++ b/europe
@@ -1511,38 +1511,39 @@ Zone Europe/Athens 1:34:52 - LMT 1895 Sep 14
2:00 EU EE%sT
# Hungary
-# From Paul Eggert (2014-07-15):
-# Dates for 1916-1945 are taken from:
-# Oross A. Jelen a múlt jövője: a nyári időszámítás Magyarországon 1916-1945.
-# National Archives of Hungary (2012-10-29).
-# http://mnl.gov.hu/a_het_dokumentuma/a_nyari_idoszamitas_magyarorszagon_19161945.html
-# This source does not always give times, which are taken from Shanks
-# & Pottenger (which disagree about the dates).
+# From Géza Nyáry (2020-06-07):
+# Data for 1918-1983 are based on the archive database of Library Hungaricana.
+# The dates are collected from original, scanned governmental orders,
+# bulletins, instructions and public press.
+# https://library.hungaricana.hu
+# For example, the 1920 dates are from ministerial decree 1920.évi.2.254.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-Rule Hungary 1918 only - Apr 1 3:00 1:00 S
-Rule Hungary 1918 only - Sep 16 3:00 0 -
-Rule Hungary 1919 only - Apr 15 3:00 1:00 S
-Rule Hungary 1919 only - Nov 24 3:00 0 -
+Rule Hungary 1918 1919 - Apr 15 2:00 1:00 S
+Rule Hungary 1918 1920 - Sep Mon>=15 3:00 0 -
+Rule Hungary 1920 only - Apr 5 2:00 1:00 S
Rule Hungary 1945 only - May 1 23:00 1:00 S
-Rule Hungary 1945 only - Nov 1 0:00 0 -
+Rule Hungary 1945 only - Nov 1 1:00 0 -
Rule Hungary 1946 only - Mar 31 2:00s 1:00 S
-Rule Hungary 1946 1949 - Oct Sun>=1 2:00s 0 -
+Rule Hungary 1946 only - Oct 7 2:00 0 -
Rule Hungary 1947 1949 - Apr Sun>=4 2:00s 1:00 S
-Rule Hungary 1950 only - Apr 17 2:00s 1:00 S
-Rule Hungary 1950 only - Oct 23 2:00s 0 -
-Rule Hungary 1954 1955 - May 23 0:00 1:00 S
-Rule Hungary 1954 1955 - Oct 3 0:00 0 -
-Rule Hungary 1956 only - Jun Sun>=1 0:00 1:00 S
-Rule Hungary 1956 only - Sep lastSun 0:00 0 -
-Rule Hungary 1957 only - Jun Sun>=1 1:00 1:00 S
-Rule Hungary 1957 only - Sep lastSun 3:00 0 -
-Rule Hungary 1980 only - Apr 6 1:00 1:00 S
+Rule Hungary 1947 1949 - Oct Sun>=1 2:00s 0 -
+Rule Hungary 1954 only - May 23 0:00 1:00 S
+Rule Hungary 1954 only - Oct 3 0:00 0 -
+Rule Hungary 1955 only - May 22 2:00 1:00 S
+Rule Hungary 1955 only - Oct 2 3:00 0 -
+Rule Hungary 1956 1957 - Jun Sun>=1 2:00 1:00 S
+Rule Hungary 1956 1957 - Sep lastSun 3:00 0 -
+Rule Hungary 1980 only - Apr 6 0:00 1:00 S
+Rule Hungary 1980 only - Sep 28 1:00 0 -
+Rule Hungary 1981 1983 - Mar lastSun 0:00 1:00 S
+Rule Hungary 1981 1983 - Sep lastSun 1:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Budapest 1:16:20 - LMT 1890 Oct
1:00 C-Eur CE%sT 1918
- 1:00 Hungary CE%sT 1941 Apr 8
+ 1:00 Hungary CE%sT 1941 Apr 7 23:00
1:00 C-Eur CE%sT 1945
- 1:00 Hungary CE%sT 1980 Sep 28 2:00s
+ 1:00 Hungary CE%sT 1984
1:00 EU CE%sT
# Iceland
--
1.8.3.1

View File

@ -1,364 +0,0 @@
From 8b21cc5d241f99bdd1d789c43749e13bbf1bc5e7 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 27 Oct 2020 11:24:49 -0700
Subject: [PATCH] Fix Israel and Palestine transitions 1940/1985
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fix several transitions from 1940 through 1985, and supply
legal citations for the fixes. (Thanks to P Chan.)
In some cases we are still guessing what “midnight” means.
* NEWS: Mention this.
* asia (Zion): Fix several transitions.
Also, improve citation to current law
(thanks to Ephraim Silverberg).
---
NEWS | 9 +--
asia | 274 ++++++++++++++++++++++++++++++++++++++++++++++++++-----------------
2 files changed, 211 insertions(+), 72 deletions(-)
diff --git a/NEWS b/NEWS
index 27ad63d..4369cc9 100644
--- a/NEWS
+++ b/NEWS
@@ -4,13 +4,12 @@ Unreleased, experimental changes
Changes to past timestamps
+ Correct several 1940 through 1985 transitions for Israel and Palestine,
+ fixing several entries originally derived from Shanks.
+ (Thanks to P Chan.)
+
Correct several 1908 through 1960 transitions for Kenya and adjacent,
fixing several hazy entries originally derived from Shanks.
- Insert a transition from LMT to +0230 on 1908-05.
- The first transition to +03 was on 1928-06-30, not 1928-07.
- The later transition to +0230 was on 1930-01-04, not the guessed 01-01.
- The transition to +0245 was on 1936-12-31, not 1940.
- And the final transition to +03 was on 1942-07-31, not 1960.
(Thanks to P Chan.)
Release 2020d - 2020-10-21 11:24:13 -0700
diff --git a/asia b/asia
index 3ebfcb4..ed94413 100644
--- a/asia
+++ b/asia
@@ -1723,40 +1723,180 @@ Zone Asia/Baghdad 2:57:40 - LMT 1890
# high on my favorite-country list (and not only because my wife's
# family is from India).
-# From Shanks & Pottenger:
+# From P Chan (2020-10-27), with corrections:
+#
+# 1940-1946 Supplement No. 2 to the Palestine Gazette
+# # issue page Order No. dated start end note
+# 1 1010 729 67 of 1940 1940-05-22 1940-05-31* 1940-09-30* revoked by #2
+# 2 1013 758 73 of 1940 1940-05-31 1940-05-31 1940-09-30
+# 3 1055 1574 196 of 1940 1940-11-06 1940-11-16 1940-12-31
+# 4 1066 1811 208 of 1940 1940-12-17 1940-12-31 1941-12-31
+# 5 1156 1967 116 of 1941 1941-12-16 1941-12-31 1942-12-31* amended by #6
+# 6 1228 1608 86 of 1942 1942-10-14 1941-12-31 1942-10-31
+# 7 1256 279 21 of 1943 1943-03-18 1943-03-31 1943-10-31
+# 8 1323 249 19 of 1944 1944-03-13 1944-03-31 1944-10-31
+# 9 1402 328 20 of 1945 1945-04-05 1945-04-15 1945-10-31
+#10 1487 596 14 of 1946 1946-04-04 1946-04-15 1946-10-31
+#
+# 1948 Iton Rishmi (Official Gazette of the Provisional Government)
+# # issue page dated start end
+#11 2 7 1948-05-20 1948-05-22 1948-10-31*
+# ^This moved timezone to +04, replaced by #12 from 1948-08-31 24:00 GMT.
+#12 17 (Annex B) 84 1948-08-22 1948-08-31 1948-10-31
+#
+# 1949-2000 Kovetz HaTakanot (Collection of Regulations)
+# # issue page dated start end note
+#13 6 133 1949-03-23 1949-04-30 1949-10-31
+#14 80 755 1950-03-17 1950-04-15 1950-09-14
+#15 164 782 1951-03-22 1951-03-31 1951-09-29* amended by #16
+#16 206 1940 1951-09-23 ---------- 1951-10-22* amended by #17
+#17 212 78 1951-10-19 ---------- 1951-11-10
+#18 254 652 1952-03-03 1952-04-19 1952-09-27* amended by #19
+#19 300 11 1952-09-15 ---------- 1952-10-18
+#20 348 817 1953-03-03 1953-04-11 1953-09-12
+#21 420 385 1954-02-17 1954-06-12 1954-09-11
+#22 497 548 1955-01-14 1955-06-11 1955-09-10
+#23 591 608 1956-03-12 1956-06-02 1956-09-29
+#24 680 957 1957-02-08 1957-04-27 1957-09-21
+#25 3192 1418 1974-06-28 1974-07-06 1974-10-12
+#26 3322 1389 1975-04-03 1975-04-19 1975-08-30
+#27 4146 2089 1980-07-15 1980-08-02 1980-09-13
+#28 4604 1081 1984-02-22 1984-05-05* 1984-08-25* revoked by #29
+#29 4619 1312 1984-04-06 1984-05-05 1984-08-25
+#30 4744 475 1984-12-23 1985-04-13 1985-09-14* amended by #31
+#31 4851 1848 1985-08-18 ---------- 1985-08-31
+#32 4932 899 1986-04-22 1986-05-17 1986-09-06
+#33 5013 580 1987-02-15 1987-04-18* 1987-08-22* revoked by #34
+#34 5021 744 1987-03-30 1987-04-14 1987-09-12
+#35 5096 659 1988-02-14 1988-04-09 1988-09-03
+#36 5167 514 1989-02-03 1989-04-29 1989-09-02
+#37 5248 375 1990-01-23 1990-03-24 1990-08-25
+#38 5335 612 1991-02-10 1991-03-09* 1991-08-31 amended by #39
+# 1992-03-28 1992-09-05
+#39 5339 709 1991-03-04 1991-03-23 ----------
+#40 5506 503 1993-02-18 1993-04-02 1993-09-05
+# 1994-04-01 1994-08-28
+# 1995-03-31 1995-09-03
+#41 5731 438 1996-01-01 1996-03-14 1996-09-15
+# 1997-03-13* 1997-09-18* overridden by 1997 Temp Prov
+# 1998-03-19* 1998-09-17* revoked by #42
+#42 5853 1243 1997-09-18 1998-03-19 1998-09-05
+#43 5937 77 1998-10-18 1999-04-02 1999-09-03
+# 2000-04-14* 2000-09-15* revoked by #44
+# 2001-04-13* 2001-09-14* revoked by #44
+#44 6024 39 2000-03-14 2000-04-14 2000-10-22* overridden by 2000 Temp Prov
+# 2001-04-06* 2001-10-10* overridden by 2000 Temp Prov
+# 2002-03-29* 2002-10-29* overridden by 2000 Temp Prov
+#
+# These are laws enacted by the Knesset since the Minister could only alter the
+# transition dates at least six months in advanced under the 1992 Law.
+# dated start end
+# 1997 Temporary Provisions 1997-03-06 1997-03-20 1997-09-13
+# 2000 Temporary Provisions 2000-07-28 ---------- 2000-10-06
+# 2001-04-09 2001-09-24
+# 2002-03-29 2002-10-07
+# 2003-03-28 2003-10-03
+# 2004-04-07 2004-09-22
+# Note:
+# Transition times in 1940-1957 (#1-#24) were midnight GMT,
+# in 1974-1998 (#25-#42 and the 1997 Temporary Provisions) were midnight,
+# in 1999-April 2000 (#43,#44) were 02:00,
+# in the 2000 Temporary Provisions were 01:00.
+#
+# -----------------------------------------------------------------------------
+# Links:
+# 1 https://findit.library.yale.edu/images_layout/view?parentoid=15537490&increment=687
+# 2 https://findit.library.yale.edu/images_layout/view?parentoid=15537490&increment=716
+# 3 https://findit.library.yale.edu/images_layout/view?parentoid=15537491&increment=721
+# 4 https://findit.library.yale.edu/images_layout/view?parentoid=15537491&increment=958
+# 5 https://findit.library.yale.edu/images_layout/view?parentoid=15537502&increment=558
+# 6 https://findit.library.yale.edu/images_layout/view?parentoid=15537511&increment=105
+# 7 https://findit.library.yale.edu/images_layout/view?parentoid=15537516&increment=278
+# 8 https://findit.library.yale.edu/images_layout/view?parentoid=15537522&increment=248
+# 9 https://findit.library.yale.edu/images_layout/view?parentoid=15537530&increment=329
+#10 https://findit.library.yale.edu/images_layout/view?parentoid=15537537&increment=601
+#11 https://www.nevo.co.il/law_word/law12/er-002.pdf#page=3
+#12 https://www.nevo.co.il/law_word/law12/er-017-t2.pdf#page=4
+#13 https://www.nevo.co.il/law_word/law06/tak-0006.pdf#page=3
+#14 https://www.nevo.co.il/law_word/law06/tak-0080.pdf#page=7
+#15 https://www.nevo.co.il/law_word/law06/tak-0164.pdf#page=10
+#16 https://www.nevo.co.il/law_word/law06/tak-0206.pdf#page=4
+#17 https://www.nevo.co.il/law_word/law06/tak-0212.pdf#page=2
+#18 https://www.nevo.co.il/law_word/law06/tak-0254.pdf#page=4
+#19 https://www.nevo.co.il/law_word/law06/tak-0300.pdf#page=5
+#20 https://www.nevo.co.il/law_word/law06/tak-0348.pdf#page=3
+#21 https://www.nevo.co.il/law_word/law06/tak-0420.pdf#page=5
+#22 https://www.nevo.co.il/law_word/law06/tak-0497.pdf#page=10
+#23 https://www.nevo.co.il/law_word/law06/tak-0591.pdf#page=6
+#24 https://www.nevo.co.il/law_word/law06/tak-0680.pdf#page=3
+#25 https://www.nevo.co.il/law_word/law06/tak-3192.pdf#page=2
+#26 https://www.nevo.co.il/law_word/law06/tak-3322.pdf#page=5
+#27 https://www.nevo.co.il/law_word/law06/tak-4146.pdf#page=2
+#28 https://www.nevo.co.il/law_word/law06/tak-4604.pdf#page=7
+#29 https://www.nevo.co.il/law_word/law06/tak-4619.pdf#page=2
+#30 https://www.nevo.co.il/law_word/law06/tak-4744.pdf#page=11
+#31 https://www.nevo.co.il/law_word/law06/tak-4851.pdf#page=2
+#32 https://www.nevo.co.il/law_word/law06/tak-4932.pdf#page=19
+#33 https://www.nevo.co.il/law_word/law06/tak-5013.pdf#page=8
+#34 https://www.nevo.co.il/law_word/law06/tak-5021.pdf#page=8
+#35 https://www.nevo.co.il/law_word/law06/tak-5096.pdf#page=3
+#36 https://www.nevo.co.il/law_word/law06/tak-5167.pdf#page=2
+#37 https://www.nevo.co.il/law_word/law06/tak-5248.pdf#page=7
+#38 https://www.nevo.co.il/law_word/law06/tak-5335.pdf#page=6
+#39 https://www.nevo.co.il/law_word/law06/tak-5339.pdf#page=7
+#40 https://www.nevo.co.il/law_word/law06/tak-5506.pdf#page=19
+#41 https://www.nevo.co.il/law_word/law06/tak-5731.pdf#page=2
+#42 https://www.nevo.co.il/law_word/law06/tak-5853.pdf#page=3
+#43 https://www.nevo.co.il/law_word/law06/tak-5937.pdf#page=9
+#44 https://www.nevo.co.il/law_word/law06/tak-6024.pdf#page=4
+#
+# Time Determination (Temporary Provisions) Law, 1997
+# https://www.nevo.co.il/law_html/law19/p201_003.htm
+#
+# Time Determination (Temporary Provisions) Law, 2000
+# https://www.nevo.co.il/law_html/law19/p201_004.htm
+#
+# Time Determination Law, 1992 and amendments
+# https://www.nevo.co.il/law_html/law01/p201_002.htm
+# https://main.knesset.gov.il/Activity/Legislation/Laws/Pages/LawPrimary.aspx?lawitemid=2001174
+
+# From Paul Eggert (2020-10-27):
+# Several of the midnight transitions mentioned above are ambiguous;
+# are they 00:00, 00:00s, 24:00, or 24:00s? When resolving these ambiguities,
+# try to minimize changes from previous tzdb versions, for lack of better info.
+# Commentary from previous versions is included below, to help explain this.
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Zion 1940 only - Jun 1 0:00 1:00 D
-Rule Zion 1942 1944 - Nov 1 0:00 0 S
-Rule Zion 1943 only - Apr 1 2:00 1:00 D
-Rule Zion 1944 only - Apr 1 0:00 1:00 D
-Rule Zion 1945 only - Apr 16 0:00 1:00 D
-Rule Zion 1945 only - Nov 1 2:00 0 S
-Rule Zion 1946 only - Apr 16 2:00 1:00 D
-Rule Zion 1946 only - Nov 1 0:00 0 S
-Rule Zion 1948 only - May 23 0:00 2:00 DD
-Rule Zion 1948 only - Sep 1 0:00 1:00 D
-Rule Zion 1948 1949 - Nov 1 2:00 0 S
-Rule Zion 1949 only - May 1 0:00 1:00 D
-Rule Zion 1950 only - Apr 16 0:00 1:00 D
-Rule Zion 1950 only - Sep 15 3:00 0 S
-Rule Zion 1951 only - Apr 1 0:00 1:00 D
-Rule Zion 1951 only - Nov 11 3:00 0 S
-Rule Zion 1952 only - Apr 20 2:00 1:00 D
-Rule Zion 1952 only - Oct 19 3:00 0 S
-Rule Zion 1953 only - Apr 12 2:00 1:00 D
-Rule Zion 1953 only - Sep 13 3:00 0 S
-Rule Zion 1954 only - Jun 13 0:00 1:00 D
-Rule Zion 1954 only - Sep 12 0:00 0 S
-Rule Zion 1955 only - Jun 11 2:00 1:00 D
-Rule Zion 1955 only - Sep 11 0:00 0 S
-Rule Zion 1956 only - Jun 3 0:00 1:00 D
-Rule Zion 1956 only - Sep 30 3:00 0 S
-Rule Zion 1957 only - Apr 29 2:00 1:00 D
-Rule Zion 1957 only - Sep 22 0:00 0 S
-Rule Zion 1974 only - Jul 7 0:00 1:00 D
-Rule Zion 1974 only - Oct 13 0:00 0 S
-Rule Zion 1975 only - Apr 20 0:00 1:00 D
-Rule Zion 1975 only - Aug 31 0:00 0 S
+Rule Zion 1940 only - May 31 24:00u 1:00 D
+Rule Zion 1940 only - Sep 30 24:00u 0 S
+Rule Zion 1940 only - Nov 16 24:00u 1:00 D
+Rule Zion 1942 1946 - Oct 31 24:00u 0 S
+Rule Zion 1943 1944 - Mar 31 24:00u 1:00 D
+Rule Zion 1945 1946 - Apr 15 24:00u 1:00 D
+Rule Zion 1948 only - May 22 24:00u 2:00 DD
+Rule Zion 1948 only - Aug 31 24:00u 1:00 D
+Rule Zion 1948 1949 - Oct 31 24:00u 0 S
+Rule Zion 1949 only - Apr 30 24:00u 1:00 D
+Rule Zion 1950 only - Apr 15 24:00u 1:00 D
+Rule Zion 1950 only - Sep 14 24:00u 0 S
+Rule Zion 1951 only - Mar 31 24:00u 1:00 D
+Rule Zion 1951 only - Nov 10 24:00u 0 S
+Rule Zion 1952 only - Apr 19 24:00u 1:00 D
+Rule Zion 1952 only - Oct 18 24:00u 0 S
+Rule Zion 1953 only - Apr 11 24:00u 1:00 D
+Rule Zion 1953 only - Sep 12 24:00u 0 S
+Rule Zion 1954 only - Jun 12 24:00u 1:00 D
+Rule Zion 1954 only - Sep 11 24:00u 0 S
+Rule Zion 1955 only - Jun 11 24:00u 1:00 D
+Rule Zion 1955 only - Sep 10 24:00u 0 S
+Rule Zion 1956 only - Jun 2 24:00u 1:00 D
+Rule Zion 1956 only - Sep 29 24:00u 0 S
+Rule Zion 1957 only - Apr 27 24:00u 1:00 D
+Rule Zion 1957 only - Sep 21 24:00u 0 S
+Rule Zion 1974 only - Jul 6 24:00 1:00 D
+Rule Zion 1974 only - Oct 12 24:00 0 S
+Rule Zion 1975 only - Apr 19 24:00 1:00 D
+Rule Zion 1975 only - Aug 30 24:00 0 S
# From Alois Treindl (2019-03-06):
# http://www.moin.gov.il/Documents/שעון%20קיץ/clock-50-years-7-2014.pdf
@@ -1769,25 +1909,24 @@ Rule Zion 1975 only - Aug 31 0:00 0 S
# From Paul Eggert (2019-03-06):
# Also see this thread about the moin.gov.il URL:
# https://mm.icann.org/pipermail/tz/2018-November/027194.html
-Rule Zion 1980 only - Aug 2 0:00 1:00 D
-Rule Zion 1980 only - Sep 13 1:00 0 S
-Rule Zion 1984 only - May 5 0:00 1:00 D
-Rule Zion 1984 only - Aug 25 1:00 0 S
-
-# From Shanks & Pottenger:
-Rule Zion 1985 only - Apr 14 0:00 1:00 D
-Rule Zion 1985 only - Sep 15 0:00 0 S
-Rule Zion 1986 only - May 18 0:00 1:00 D
-Rule Zion 1986 only - Sep 7 0:00 0 S
-Rule Zion 1987 only - Apr 15 0:00 1:00 D
-Rule Zion 1987 only - Sep 13 0:00 0 S
+Rule Zion 1980 only - Aug 2 24:00s 1:00 D
+Rule Zion 1980 only - Sep 13 24:00s 0 S
+Rule Zion 1984 only - May 5 24:00s 1:00 D
+Rule Zion 1984 only - Aug 25 24:00s 0 S
+
+Rule Zion 1985 only - Apr 13 24:00 1:00 D
+Rule Zion 1985 only - Aug 31 24:00 0 S
+Rule Zion 1986 only - May 17 24:00 1:00 D
+Rule Zion 1986 only - Sep 6 24:00 0 S
+Rule Zion 1987 only - Apr 14 24:00 1:00 D
+Rule Zion 1987 only - Sep 12 24:00 0 S
# From Avigdor Finkelstein (2014-03-05):
# I check the Parliament (Knesset) records and there it's stated that the
# [1988] transition should take place on Saturday night, when the Sabbath
# ends and changes to Sunday.
-Rule Zion 1988 only - Apr 10 0:00 1:00 D
-Rule Zion 1988 only - Sep 4 0:00 0 S
+Rule Zion 1988 only - Apr 9 24:00 1:00 D
+Rule Zion 1988 only - Sep 3 24:00 0 S
# From Ephraim Silverberg
# (1997-03-04, 1998-03-16, 1998-12-28, 2000-01-17, 2000-07-25, 2004-12-22,
@@ -1817,14 +1956,14 @@ Rule Zion 1988 only - Sep 4 0:00 0 S
# (the eve of the 7th of Tishrei in the lunar Hebrew calendar).
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Zion 1989 only - Apr 30 0:00 1:00 D
-Rule Zion 1989 only - Sep 3 0:00 0 S
-Rule Zion 1990 only - Mar 25 0:00 1:00 D
-Rule Zion 1990 only - Aug 26 0:00 0 S
-Rule Zion 1991 only - Mar 24 0:00 1:00 D
-Rule Zion 1991 only - Sep 1 0:00 0 S
-Rule Zion 1992 only - Mar 29 0:00 1:00 D
-Rule Zion 1992 only - Sep 6 0:00 0 S
+Rule Zion 1989 only - Apr 29 24:00 1:00 D
+Rule Zion 1989 only - Sep 2 24:00 0 S
+Rule Zion 1990 only - Mar 24 24:00 1:00 D
+Rule Zion 1990 only - Aug 25 24:00 0 S
+Rule Zion 1991 only - Mar 23 24:00 1:00 D
+Rule Zion 1991 only - Aug 31 24:00 0 S
+Rule Zion 1992 only - Mar 28 24:00 1:00 D
+Rule Zion 1992 only - Sep 5 24:00 0 S
Rule Zion 1993 only - Apr 2 0:00 1:00 D
Rule Zion 1993 only - Sep 5 0:00 0 S
@@ -1853,10 +1992,10 @@ Rule Zion 1995 only - Sep 3 0:00 0 S
# where YYYY is the relevant year.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Zion 1996 only - Mar 15 0:00 1:00 D
-Rule Zion 1996 only - Sep 16 0:00 0 S
-Rule Zion 1997 only - Mar 21 0:00 1:00 D
-Rule Zion 1997 only - Sep 14 0:00 0 S
+Rule Zion 1996 only - Mar 14 24:00 1:00 D
+Rule Zion 1996 only - Sep 15 24:00 0 S
+Rule Zion 1997 only - Mar 20 24:00 1:00 D
+Rule Zion 1997 only - Sep 13 24:00 0 S
Rule Zion 1998 only - Mar 20 0:00 1:00 D
Rule Zion 1998 only - Sep 6 0:00 0 S
Rule Zion 1999 only - Apr 2 2:00 1:00 D
@@ -1908,14 +2047,15 @@ Rule Zion 2010 only - Sep 12 2:00 0 S
Rule Zion 2011 only - Oct 2 2:00 0 S
Rule Zion 2012 only - Sep 23 2:00 0 S
-# From Ephraim Silverberg (2013-06-27):
-# On June 23, 2013, the Israeli government approved changes to the
-# Time Decree Law. The next day, the changes passed the First Reading
-# in the Knesset. The law is expected to pass the Second and Third
-# (final) Readings by the beginning of September 2013.
-#
-# As of 2013, DST starts at 02:00 on the Friday before the last Sunday
-# in March. DST ends at 02:00 on the last Sunday of October.
+# From Ephraim Silverberg (2020-10-26):
+# The current time law (2013) from the State of Israel can be viewed
+# (in Hebrew) at:
+# ftp://ftp.cs.huji.ac.il/pub/tz/israel/announcements/2013+law.pdf
+# It translates to:
+# Every year, in the period from the Friday before the last Sunday in
+# the month of March at 02:00 a.m. until the last Sunday of the month
+# of October at 02:00 a.m., Israel Time will be advanced an additional
+# hour such that it will be UTC+3.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Zion 2013 max - Mar Fri>=23 2:00 1:00 D
--
1.8.3.1

View File

@ -1,103 +0,0 @@
From eff0719a7dc9e0fa7faae3fdce27752daac5a5e3 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sat, 24 Oct 2020 14:55:32 -0700
Subject: [PATCH 4/6] Fix Kenya transitions 1908/1960
Fix several transitions from 1908 through 1960, and supply
legal citations for the fixes. (Thanks to P Chan.)
* NEWS: Mention this.
* africa (Africa/Nairobi): Fix all transitions for 1908 through 1960.
---
NEWS | 13 +++++++++++++
africa | 51 +++++++++++++++++++++++++++++++++++++++++++++++----
2 files changed, 60 insertions(+), 4 deletions(-)
diff --git a/NEWS b/NEWS
index 328face..27ad63d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,18 @@
News for the tz database
+Unreleased, experimental changes
+
+ Changes to past timestamps
+
+ Correct several 1908 through 1960 transitions for Kenya and adjacent,
+ fixing several hazy entries originally derived from Shanks.
+ Insert a transition from LMT to +0230 on 1908-05.
+ The first transition to +03 was on 1928-06-30, not 1928-07.
+ The later transition to +0230 was on 1930-01-04, not the guessed 01-01.
+ The transition to +0245 was on 1936-12-31, not 1940.
+ And the final transition to +03 was on 1942-07-31, not 1960.
+ (Thanks to P Chan.)
+
Release 2020d - 2020-10-21 11:24:13 -0700
Briefly:
diff --git a/africa b/africa
index 566436b..2313e71 100644
--- a/africa
+++ b/africa
@@ -433,11 +433,54 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
0:00 - GMT
# Kenya
+
+# From P Chan (2020-10-24):
+#
+# The standard time of GMT+2:30 was adopted in the East Africa Protectorate....
+# [The Official Gazette, 1908-05-01, p 274]
+# https://books.google.com/books?id=e-cAC-sjPSEC&pg=PA274
+#
+# At midnight on 30 June 1928 the clocks throughout Kenya was put forward
+# half an hour by the Alteration of Time Ordinance, 1928.
+# https://gazettes.africa/archive/ke/1928/ke-government-gazette-dated-1928-05-11-no-28.pdf
+# [Ordinance No. 11 of 1928, The Offical Gazette, 1928-06-26, p 813]
+# https://books.google.com/books?id=2S0S6os32ZUC&pg=PA813
+#
+# The 1928 ordinance was repealed by the Alteration of Time (repeal) Ordinance,
+# 1929 and the time was restored to GMT+2:30 at midnight on 4 January 1930.
+# [Ordinance No. 97 of 1929, The Official Gazette, 1929-12-31, p 2701]
+# https://books.google.com/books?id=_g18jIZQlwwC&pg=PA2701
+#
+# The Alteration of Time Ordinance, 1936 changed the time to GMT+2:45
+# and repealed the previous ordinance at midnight on 31 December 1936.
+# [The Official Gazette, 1936-07-21, p 705]
+# https://books.google.com/books?id=K7j41z0aC5wC&pg=PA705
+#
+# The Defence (Amendment of Laws No. 120) Regulations changed the time
+# to GMT+3 at midnight on 31 July 1942.
+# [Kenya Official Gazette Supplement No. 32, 1942-07-21, p 331]
+# https://books.google.com/books?hl=zh-TW&id=c_E-AQAAIAAJ&pg=PA331
+# The provision of the 1936 ordinance was not repealed and was later
+# incorporated in the Interpretation and General Clauses Ordinance in 1948.
+# Although it was overridden by the 1942 regulations.
+# [The Laws of Kenya in force on 1948-09-21, Title I, Chapter 1, 31]
+# https://dds.crl.edu/item/217517 (p.101)
+# In 1950 the Interpretation and General Clauses Ordinance was amended to adopt
+# GMT+3 permanently as the 1942 regulations were due to expire on 10 December.
+# https://books.google.com/books?id=jvR8mUDAwR0C&pg=PA787
+# [Ordinance No. 44 of 1950, Kenya Ordinances 1950, Vol. XXIX, p 294]
+# https://books.google.com/books?id=-_dQAQAAMAAJ&pg=PA294
+
+# From Paul Eggert (2020-10-24):
+# The 1908-05-01 announcement does not give an effective date,
+# so just say "1908 May".
+
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul
- 3:00 - EAT 1930
- 2:30 - +0230 1940
- 2:45 - +0245 1960
+Zone Africa/Nairobi 2:27:16 - LMT 1908 May
+ 2:30 - +0230 1928 Jun 30 24:00
+ 3:00 - EAT 1930 Jan 4 24:00
+ 2:30 - +0230 1936 Dec 31 24:00
+ 2:45 - +0245 1942 Jul 31 24:00
3:00 - EAT
Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia
Link Africa/Nairobi Africa/Asmara # Eritrea
--
1.8.3.1

View File

@ -1,25 +0,0 @@
From 3dcdea78d28b47f54dd15ca48207119a441b176b Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 7 Dec 2020 11:37:59 -0800
Subject: [PATCH] Fix NEWS typo
---
NEWS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index bd9a2d2..041d224 100644
--- a/NEWS
+++ b/NEWS
@@ -4,7 +4,7 @@ Unreleased, experimental changes
Changes to future timestamps
- Volgograd changes time zone from +04 to +03 on 2020-12-20 at 02:00.
+ Volgograd changes time zone from +04 to +03 on 2020-12-27 at 02:00.
(Thanks to Alexander Krivenyshev and Stepan Golosunov.)
Changes to past timestamps
--
1.8.3.1

View File

@ -1,116 +0,0 @@
From b80ed1696b6cd868e26b0246f35ce3347ef6b4dc Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 21 Oct 2020 08:55:04 -0700
Subject: [PATCH] Fix Palestine 2015 fall and 2020 spring
* NEWS: Mention this.
* asia (Palestine): Correct transitions for 2015-10-23 (at 01:00,
not 00:00) and spring 2020 (on March 28, not March 27). Thanks to
Pierre Cashon. Alter future spring transitions accordingly; these
are guesswork anyway, so make them more consistent with fall.
Clean up some of the past "only" lines, since really just the
dates are known.
---
NEWS | 20 ++++++++++----------
asia | 29 ++++++++++++++++++++---------
2 files changed, 30 insertions(+), 19 deletions(-)
diff --git a/NEWS b/NEWS
index 4d653dc..66a579d 100644
--- a/NEWS
+++ b/NEWS
@@ -5,17 +5,17 @@ Unreleased, experimental changes
Briefly:
Palestine ends DST earlier than predicted, on 2020-10-24.
- Changes to future timestamps
-
- Palestine ends DST on 2020-10-24 at 01:00, instead of 2020-10-31 as
- previously predicted. (Thanks to Sharef Mustafa.) This affects
- Asia/Gaza and Asia/Hebron. Assume future fall transitions will be
- on the Saturday preceding October's last Sunday.
-
- Changes to past timestamps
+ Changes to past and future timestamps
- Palestine's 2019-10-26 fall-back was at 00:00, not 01:00. (Thanks
- to Steffen Thorsen.)
+ Palestine ends DST on 2020-10-24 at 01:00, instead of 2020-10-31
+ as previously predicted (thanks to Sharef Mustafa.) Its
+ 2019-10-26 fall-back was at 00:00, not 01:00 (thanks to Steffen
+ Thorsen.) Its 2015-10-23 transition was at 01:00 not 00:00, and
+ its spring 2020 transition was on March 28 at 00:00, not March 27
+ (thanks to Pierre Cashon.) This affects Asia/Gaza and
+ Asia/Hebron. Assume future spring and fall transitions will be on
+ the Saturday preceding the last Sunday of March and October,
+ respectively.
Release 2020c - 2020-10-16 11:15:53 -0700
diff --git a/asia b/asia
index 1c2d3eb..3ebfcb4 100644
--- a/asia
+++ b/asia
@@ -3239,14 +3239,23 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# shall [end] on Oct 24th 2020 at 01:00AM by delaying the clock by 60 minutes.
# http://www.palestinecabinet.gov.ps/portal/Meeting/Details/51584
-# From Paul Eggert (2019-04-10):
-# For now, guess spring-ahead transitions are March's last Friday at 00:00.
-#
# From Tim Parenti (2020-10-20):
# Predict future fall transitions at 01:00 on the Saturday preceding October's
# last Sunday (i.e., Sat>=24). This is consistent with our predictions since
# 2016, although the time of the change differed slightly in 2019.
+# From Pierre Cashon (2020-10-20):
+# The summer time this year started on March 28 at 00:00.
+# https://wafa.ps/ar_page.aspx?id=GveQNZa872839351758aGveQNZ
+# http://www.palestinecabinet.gov.ps/portal/meeting/details/50284
+# The winter time in 2015 started on October 23 at 01:00.
+# https://wafa.ps/ar_page.aspx?id=CgpCdYa670694628582aCgpCdY
+# http://www.palestinecabinet.gov.ps/portal/meeting/details/27583
+#
+# From Paul Eggert (2019-04-10):
+# For now, guess spring-ahead transitions are at 00:00 on the Saturday
+# preceding March's last Sunday (i.e., Sat>=24).
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 -
@@ -3261,10 +3270,10 @@ Rule Palestine 2004 only - Oct 1 1:00 0 -
Rule Palestine 2005 only - Oct 4 2:00 0 -
Rule Palestine 2006 2007 - Apr 1 0:00 1:00 S
Rule Palestine 2006 only - Sep 22 0:00 0 -
-Rule Palestine 2007 only - Sep Thu>=8 2:00 0 -
+Rule Palestine 2007 only - Sep 13 2:00 0 -
Rule Palestine 2008 2009 - Mar lastFri 0:00 1:00 S
Rule Palestine 2008 only - Sep 1 0:00 0 -
-Rule Palestine 2009 only - Sep Fri>=1 1:00 0 -
+Rule Palestine 2009 only - Sep 4 1:00 0 -
Rule Palestine 2010 only - Mar 26 0:00 1:00 S
Rule Palestine 2010 only - Aug 11 0:00 0 -
Rule Palestine 2011 only - Apr 1 0:01 1:00 S
@@ -3273,13 +3282,15 @@ Rule Palestine 2011 only - Aug 30 0:00 1:00 S
Rule Palestine 2011 only - Sep 30 0:00 0 -
Rule Palestine 2012 2014 - Mar lastThu 24:00 1:00 S
Rule Palestine 2012 only - Sep 21 1:00 0 -
-Rule Palestine 2013 only - Sep Fri>=21 0:00 0 -
-Rule Palestine 2014 2015 - Oct Fri>=21 0:00 0 -
-Rule Palestine 2015 only - Mar lastFri 24:00 1:00 S
+Rule Palestine 2013 only - Sep 27 0:00 0 -
+Rule Palestine 2014 only - Oct 24 0:00 0 -
+Rule Palestine 2015 only - Mar 28 0:00 1:00 S
+Rule Palestine 2015 only - Oct 23 1:00 0 -
Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S
Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 -
-Rule Palestine 2019 max - Mar lastFri 0:00 1:00 S
+Rule Palestine 2019 only - Mar 29 0:00 1:00 S
Rule Palestine 2019 only - Oct Sat>=24 0:00 0 -
+Rule Palestine 2020 max - Mar Sat>=24 0:00 1:00 S
Rule Palestine 2020 max - Oct Sat>=24 1:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
--
1.8.3.1

View File

@ -1,77 +0,0 @@
From ff90fc93ac5bbfe2001860f417a11ca7f3124712 Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Sat, 5 Dec 2020 13:32:08 -0500
Subject: [PATCH] Fix Vanuatu DST in 1973-1974 and 1984 transition
(Thanks to P Chan.)
* NEWS: Mention this.
* australasia (Vanuatu): DST was observed for three months in 1973-1974.
Spring 1984 transition was on 1984-09-23, not 10-23. Prefer Sat>=22
24:00 to Sun>=23 0:00 as that better matches the legal text.
---
NEWS | 1 +
australasia | 35 +++++++++++++++++++++++++++++------
2 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/NEWS b/NEWS
index 76a5417..2182c70 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,7 @@ Unreleased, experimental changes
- Ghana: several 1915 through 1956 transitions
- Israel and Palestine: several 1940 through 1985 transitions
- Kenya and adjacent: several 1908 through 1960 transitions
+ - Vanuatu: DST in 1973-1974, and a corrected 1984 transition
(Thanks to P Chan.)
Because of the Australia change, Australia/Currie (King Island) is
diff --git a/australasia b/australasia
index d6c4e7c..cf8a063 100644
--- a/australasia
+++ b/australasia
@@ -868,13 +868,36 @@ Zone Pacific/Wake 11:06:28 - LMT 1901
# Vanuatu
+
+# From P Chan (2020-11-27):
+# Joint Daylight Saving Regulation No 59 of 1973
+# New Hebrides Condominium Gazette No 336. December 1973
+# http://www.paclii.org/vu/other/VUNHGovGaz//1973/11.pdf#page=15
+#
+# Joint Daylight Saving (Repeal) Regulation No 10 of 1974
+# New Hebrides Condominium Gazette No 336. March 1974
+# http://www.paclii.org/vu/other/VUNHGovGaz//1974/3.pdf#page=11
+#
+# Summer Time Act No. 35 of 1982 [commenced 1983-09-01]
+# http://www.paclii.org/vu/other/VUGovGaz/1982/32.pdf#page=48
+#
+# Summer Time Act (Cap 157)
+# Laws of the Republic of Vanuatu Revised Edition 1988
+# http://www.paclii.org/cgi-bin/sinodisp/vu/legis/consol_act1988/sta147/sta147.html
+#
+# Summer Time (Amendment) Act No. 6 of 1991 [commenced 1991-11-11]
+# http://www.paclii.org/vu/legis/num_act/sta1991227/
+#
+# Summer Time (Repeal) Act No. 4 of 1993 [commenced 1993-05-03]
+# http://www.paclii.org/vu/other/VUGovGaz/1993/15.pdf#page=59
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Vanuatu 1983 only - Sep 25 0:00 1:00 -
-Rule Vanuatu 1984 1991 - Mar Sun>=23 0:00 0 -
-Rule Vanuatu 1984 only - Oct 23 0:00 1:00 -
-Rule Vanuatu 1985 1991 - Sep Sun>=23 0:00 1:00 -
-Rule Vanuatu 1992 1993 - Jan Sun>=23 0:00 0 -
-Rule Vanuatu 1992 only - Oct Sun>=23 0:00 1:00 -
+Rule Vanuatu 1973 only - Dec 22 12:00u 1:00 -
+Rule Vanuatu 1974 only - Mar 30 12:00u 0 -
+Rule Vanuatu 1983 1991 - Sep Sat>=22 24:00 1:00 -
+Rule Vanuatu 1984 1991 - Mar Sat>=22 24:00 0 -
+Rule Vanuatu 1992 1993 - Jan Sat>=22 24:00 0 -
+Rule Vanuatu 1992 only - Oct Sat>=22 24:00 1:00 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
11:00 Vanuatu +11/+12
--
1.8.3.1

View File

@ -1,42 +0,0 @@
From 3831c591e188edc16d1a6855fb20ebee78c4e27b Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Tue, 1 Dec 2020 23:52:23 -0500
Subject: [PATCH] Fix Volgograd label in {zone,zone1970}.tab
* zone.tab, zone1970.tab: Volgograd will be MSK+00 from 2020-12-20.
---
zone.tab | 2 +-
zone1970.tab | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/zone.tab b/zone.tab
index fe48c13..1f0128f 100644
--- a/zone.tab
+++ b/zone.tab
@@ -336,8 +336,8 @@ RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
# Programs should use zone1970.tab instead; see above.
UA +4457+03406 Europe/Simferopol Crimea
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
+RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
-RU +4844+04425 Europe/Volgograd MSK+01 - Volgograd
RU +5134+04602 Europe/Saratov MSK+01 - Saratov
RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk
RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia
diff --git a/zone1970.tab b/zone1970.tab
index 205ed5a..396e4d3 100644
--- a/zone1970.tab
+++ b/zone1970.tab
@@ -291,8 +291,8 @@ RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
# Mention RU and UA alphabetically. See "territorial claims" above.
RU,UA +4457+03406 Europe/Simferopol Crimea
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
+RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
-RU +4844+04425 Europe/Volgograd MSK+01 - Volgograd
RU +5134+04602 Europe/Saratov MSK+01 - Saratov
RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk
RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia
--
1.8.3.1

View File

@ -1,26 +0,0 @@
From 243ae070942fb4809206969f9838cb60da6b813f Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 28 May 2020 12:03:18 -0700
Subject: [PATCH 05/47] Fix comment typo re 1900 Spanish decree
* europe: Fix date typo. (Thanks to Josep Lladonosa Capell.)
---
europe | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/europe b/europe
index 91949d6..698a7ba 100644
--- a/europe
+++ b/europe
@@ -3445,7 +3445,7 @@ Link Europe/Prague Europe/Bratislava
# fallback transition from the next day's 00:59... to 00:00.
# From Michael Deckers (2016-12-15):
-# The Royal Decree of 1900-06-26 quoted by Planesas, online at
+# The Royal Decree of 1900-07-26 quoted by Planesas, online at
# https://www.boe.es/datos/pdfs/BOE//1900/209/A00383-00384.pdf
# says in its article 5 (my translation):
# These dispositions will enter into force beginning with the
--
1.8.3.1

View File

@ -1,34 +0,0 @@
From 63699ef407390adad73351a1320dfdd1f9373c17 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 9 Jul 2020 13:01:07 -0700
Subject: [PATCH 20/47] Fix leapseconds comment when EXPIRES_LINE
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* leapseconds.awk: Dont output a comment explaining why
something is commented out, when it is not commented out.
---
leapseconds.awk | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/leapseconds.awk b/leapseconds.awk
index 924ade9..1d3c606 100755
--- a/leapseconds.awk
+++ b/leapseconds.awk
@@ -105,8 +105,10 @@ END {
print ""
print "# UTC timestamp when this leap second list expires."
print "# Any additional leap seconds will come after this."
- print "# This Expires line is commented out for now,"
- print "# so that pre-2020a zic implementations do not reject this file."
+ if (! EXPIRES_LINE) {
+ print "# This Expires line is commented out for now,"
+ print "# so that pre-2020a zic implementations do not reject this file."
+ }
printf "%sExpires %.4d\t%s\t%.2d\t%.2d:%.2d:%.2d\n", \
EXPIRES_LINE ? "" : "#", \
ss_year, monthabbr[ss_month], ss_mday, ss_hour, ss_min, ss_sec
--
1.8.3.1

View File

@ -1,31 +0,0 @@
From beba17f43925823308c6f7f0d5ca9b52d00d351f Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 3 Nov 2020 18:34:20 -0800
Subject: [PATCH] Fix mistaken Belize interpretation
* northamerica (Belize): DST was in effect during most of
World War II (thanks to P Chan).
---
northamerica | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/northamerica b/northamerica
index 00b2e6d..6a66617 100644
--- a/northamerica
+++ b/northamerica
@@ -3002,9 +3002,9 @@ Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Belize 1918 1941 - Oct Sat>=1 24:00 0:30 -0530
-Rule Belize 1919 1945 - Feb Sat>=8 24:00 0 CST
-Rule Belize 1942 1944 - Oct Sat>=1 24:00 1:00 CWT
-Rule Belize 1945 only - Oct Sat>=1 24:00 1:00 CDT
+Rule Belize 1919 1942 - Feb Sat>=8 24:00 0 CST
+Rule Belize 1942 only - Jun 27 24:00 1:00 CWT
+Rule Belize 1945 only - Aug 14 23:00u 1:00 CPT
Rule Belize 1945 only - Dec 15 24:00 0 CST
Rule Belize 1947 1967 - Oct Sat>=1 24:00 0:30 -0530
Rule Belize 1948 1968 - Feb Sat>=8 24:00 0 CST
--
1.8.3.1

View File

@ -1,84 +0,0 @@
From 15e0ac32c17bdb9c7d480a65fbda77e6c5e7d808 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 23 Dec 2020 11:11:31 -0800
Subject: [PATCH] Fix rearguard.zi corruption in 2020e
Problem reported by Deborah Goldsmith in:
https://mm.icann.org/pipermail/tz/2020-December/029637.html
* Makefile (check_public): Also check vanguard.zi, main.zi,
rearguard.zi, to prevent similar problems from recurring.
* NEWS: Mention this.
* ziguard.awk: Be pickier about adjusting comments in
the Europe/Prague and Africa/Windhoek, partly by adding
a check already present for Europe/Dublin.
---
Makefile | 5 ++++-
NEWS | 8 ++++++++
ziguard.awk | 9 +++++----
3 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index 5064a19..1136af9 100644
--- a/Makefile
+++ b/Makefile
@@ -945,7 +945,10 @@ check_public: $(VERSION_DEPS)
mkdir public.dir
ln $(VERSION_DEPS) public.dir
cd public.dir && $(MAKE) CFLAGS='$(GCC_DEBUG_FLAGS)' ALL
- for i in $(TDATA_TO_CHECK) public.dir/tzdata.zi; do \
+ for i in $(TDATA_TO_CHECK) public.dir/tzdata.zi \
+ public.dir/vanguard.zi public.dir/main.zi \
+ public.dir/rearguard.zi; \
+ do \
public.dir/zic -v -d public.dir/zoneinfo $$i 2>&1 || exit; \
done
public.dir/zic -v -d public.dir/zoneinfo-all $(TDATA_TO_CHECK)
diff --git a/NEWS b/NEWS
index 6014b45..a0863fb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,13 @@
News for the tz database
+Unreleased, experimental changes
+
+ Change to build procedure
+
+ 'make rearguard_tarballs' no longer generates a bad rearguard.zi,
+ fixing a 2020e bug. (Problem reported by Deborah Goldsmith.)
+
+
Release 2020e - 2020-12-22 15:14:34 -0800
Briefly:
diff --git a/ziguard.awk b/ziguard.awk
index e27e799..7d6f7c9 100644
--- a/ziguard.awk
+++ b/ziguard.awk
@@ -37,7 +37,7 @@ DATAFORM != "main" {
# If this line should differ due to Czechoslovakia using negative SAVE values,
# uncomment the desired version and comment out the undesired one.
- if (zone == "Europe/Prague" && /1947 Feb 23/) {
+ if (zone == "Europe/Prague" && /^#?[\t ]+[01]:00[\t ]/ && /1947 Feb 23/) {
if (($(in_comment + 2) != "-") == vanguard) {
uncomment = in_comment
} else {
@@ -65,10 +65,11 @@ DATAFORM != "main" {
# uncomment the desired version and comment out the undesired one.
Rule_Namibia = /^#?Rule[\t ]+Namibia[\t ]/
Zone_using_Namibia_rule \
- = (zone == "Africa/Windhoek" \
+ = (zone == "Africa/Windhoek" && /^#?[\t ]+[12]:00[\t ]/ \
&& ($(in_comment + 2) == "Namibia" \
- || (1994 <= $(in_comment + 4) && $(in_comment + 4) <= 2017) \
- || in_comment + 3 == NF))
+ || ($(in_comment + 2) == "-" && $(in_comment + 3) == "CAT" \
+ && ((1994 <= $(in_comment + 4) && $(in_comment + 4) <= 2017) \
+ || in_comment + 3 == NF))))
if (Rule_Namibia || Zone_using_Namibia_rule) {
if ((Rule_Namibia \
? ($(in_comment + 9) ~ /^-/ \
--
1.8.3.1

View File

@ -1,104 +0,0 @@
From d7e93bdbaf71ed96bd77a907ceab9fb75c9e0d64 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 3 Nov 2020 11:46:47 -0800
Subject: [PATCH] Fix several Belize transitions 1942/1968
* NEWS: Mention this.
* northamerica (Belize): Correct several transitions for 1942
through 1968 (thanks to P Chan).
---
NEWS | 10 +++++-----
northamerica | 48 ++++++++++++++++++++++++++++++++++++++++++++----
2 files changed, 49 insertions(+), 9 deletions(-)
diff --git a/NEWS b/NEWS
index 4369cc9..756bbe0 100644
--- a/NEWS
+++ b/NEWS
@@ -4,13 +4,13 @@ Unreleased, experimental changes
Changes to past timestamps
- Correct several 1940 through 1985 transitions for Israel and Palestine,
- fixing several entries originally derived from Shanks.
+ Correct several pre-1970 transitions, fixing entries originally
+ derived from Shanks. The fixes include:
+ - Several 1942 through 1968 transitions for Belize.
+ - Several 1940 through 1985 transitions for Israel and Palestine.
+ - Several 1908 through 1960 transitions for Kenya and adjacent.
(Thanks to P Chan.)
- Correct several 1908 through 1960 transitions for Kenya and adjacent,
- fixing several hazy entries originally derived from Shanks.
- (Thanks to P Chan.)
Release 2020d - 2020-10-21 11:24:13 -0700
diff --git a/northamerica b/northamerica
index 675c648..00b2e6d 100644
--- a/northamerica
+++ b/northamerica
@@ -2964,16 +2964,56 @@ Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown
-4:00 Barb A%sT
# Belize
-# Whitman entirely disagrees with Shanks; go with Shanks & Pottenger.
+
+# From P Chan (2020-11-03):
+# Below are some laws related to the time in British Honduras/Belize:
+#
+# Definition of Time Ordinance, 1927 (No.4 of 1927) [1927-04-01]
+# Ordinances of British Honduras Passed in the Year 1927, p 19-20
+# https://books.google.com/books?id=LqEpAQAAMAAJ&pg=RA3-PA19
+#
+# Definition of Time (Amendment) Ordinance, 1942 (No. 5 of 1942) [1942-06-27]
+# Ordinances of British Honduras Passed in the Year 1942, p 31-32
+# https://books.google.com/books?id=h6MpAQAAMAAJ&pg=RA6-PA95-IA44
+#
+# Definition of Time Ordinance, 1945 (No. 19 of 1945) [1945-12-15]
+# Ordinances of British Honduras Passed in the Year 1945, p 49-50
+# https://books.google.com/books?id=xaMpAQAAMAAJ&pg=RA2-PP1
+#
+# Definition of Time Ordinance, 1947 (No. 1 of 1947) [1947-03-11]
+# Ordinances of British Honduras Passed in the Year 1947, p 1-2
+# https://books.google.com/books?id=xaMpAQAAMAAJ&pg=RA3-PA1
+#
+# Time (Definition of) Ordinance (Chapter 180)
+# The Laws of British Honduras in Force on the 15th Day of September, 1958 , Volume IV, p 2580
+# https://books.google.com/books?id=v5QpAQAAMAAJ&pg=PA2580
+#
+# Time (Definition of) (Amendment) Ordinance, 1968 (No. 13 of 1968) [1968-08-03]
+# https://books.google.com/books?id=xij7KEB_58wC&pg=RA1-PA428-IA9
+#
+# Definition of Time Act (Chapter 339)
+# Law of Belize, Revised Edition 2000
+# http://www.belizelaw.org/web/lawadmin/PDF%20files/cap339.pdf
+
+# From Paul Eggert (2020-11-03):
+# The transitions below are derived from P Chan's sources, except that the
+# 1973 through 1983 transitions are from Shanks & Pottenger since we have
+# no better data there.
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Belize 1918 1942 - Oct Sun>=2 0:00 0:30 -0530
-Rule Belize 1919 1943 - Feb Sun>=9 0:00 0 CST
+Rule Belize 1918 1941 - Oct Sat>=1 24:00 0:30 -0530
+Rule Belize 1919 1945 - Feb Sat>=8 24:00 0 CST
+Rule Belize 1942 1944 - Oct Sat>=1 24:00 1:00 CWT
+Rule Belize 1945 only - Oct Sat>=1 24:00 1:00 CDT
+Rule Belize 1945 only - Dec 15 24:00 0 CST
+Rule Belize 1947 1967 - Oct Sat>=1 24:00 0:30 -0530
+Rule Belize 1948 1968 - Feb Sat>=8 24:00 0 CST
Rule Belize 1973 only - Dec 5 0:00 1:00 CDT
Rule Belize 1974 only - Feb 9 0:00 0 CST
Rule Belize 1982 only - Dec 18 0:00 1:00 CDT
Rule Belize 1983 only - Feb 12 0:00 0 CST
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone America/Belize -5:52:48 - LMT 1912 Apr
+Zone America/Belize -5:52:48 - LMT 1912 Apr 1
-6:00 Belize %s
# Bermuda
--
1.8.3.1

View File

@ -1,70 +0,0 @@
From adf4d8d35a184b1a9eb78058eee8493c43beec4f Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 1 Dec 2020 15:08:51 -0800
Subject: [PATCH] Fix several pre-1946 transitions for Bahamas
(Thanks to P Chan.)
* NEWS: Mention this.
* northamerica (Bahamas): Add WW II DST transitions.
---
NEWS | 1 +
northamerica | 25 +++++++++++++++++++++++++
2 files changed, 26 insertions(+)
diff --git a/NEWS b/NEWS
index 0690d87..b56db99 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,7 @@ Unreleased, experimental changes
Correct many pre-1986 transitions, fixing entries originally
derived from Shanks. The fixes include:
- Australia: several 1917 through 1971 transitions
+ - Bahamas: several 1941 through 1945 transitions
- Bermuda: several 1917 through 1956 transitions
- Belize: several 1942 through 1968 transitions
- Ghana: several 1915 through 1956 transitions
diff --git a/northamerica b/northamerica
index b9a1348..6916880 100644
--- a/northamerica
+++ b/northamerica
@@ -2935,12 +2935,37 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
#
# For 1899 Milne gives -5:09:29.5; round that.
#
+# From P Chan (2020-11-27)
+# There were two periods of DST observed in 1941-1945: 1941-05-01 midnight to
+# 1944-12-31 and 1945-02-01 to 1945-10-17 midnight.
+#
+# War Time Order 1942 [1942-05-01] and War Time (No. 2) Order 1942 [1942-09-29]
+# Appendix to the Statutes of 7 George VI. and the Year 1942. p 34, 43
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA34
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA43
+#
+# War Time Order 1943 [1943-03-31] and War Time Order 1944 [1943-12-29]
+# Appendix to the Statutes of 8 George VI. and the Year 1943. p 9-10, 28-29
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA9
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA28
+#
+# War Time Order 1945 [1945-01-31] and the Order which revoke War Time Order
+# 1945 [1945-10-16] Appendix to the Statutes of 9 George VI. and the Year
+# 1945. p 160, 247-248
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA160
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA247
+#
# From Sue Williams (2006-12-07):
# The Bahamas announced about a month ago that they plan to change their DST
# rules to sync with the U.S. starting in 2007....
# http://www.jonesbahamas.com/?c=45&a=10412
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+Rule Bahamas 1941 only - May 1 0:00 1:00 W
+Rule Bahamas 1944 only - Dec 31 0:00 0 S
+Rule Bahamas 1945 only - Feb 1 0:00 1:00 W
+Rule Bahamas 1945 only - Aug 14 23:00u 1:00 P # Peace
+Rule Bahamas 1945 only - Oct 17 0:00 0 S
Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S
Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
--
1.8.3.1

View File

@ -1,176 +0,0 @@
From 17acee8cbb75aaf7bca5decc4fc6c9ab27533537 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 24 Nov 2020 22:05:38 -0800
Subject: [PATCH] Fix several pre-1957 transitions for Bermuda
(Thanks to P Chan.)
* NEWS: Mention this.
* northamerica (Bermuda): New ruleset.
(Atlantic/Bermuda): Use it before 1974.
* theory.html (Time zone abbreviations): Mention BMT/BST,
which are my invention.
---
NEWS | 5 ++--
northamerica | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
theory.html | 5 ++--
3 files changed, 97 insertions(+), 8 deletions(-)
diff --git a/NEWS b/NEWS
index f7b0461..d9fe116 100644
--- a/NEWS
+++ b/NEWS
@@ -4,9 +4,10 @@ Unreleased, experimental changes
Changes to past timestamps
- Correct several pre-1972 transitions, fixing entries originally
+ Correct many pre-1986 transitions, fixing entries originally
derived from Shanks. The fixes include:
- - Australia: several 1917 through 1971 transitions.
+ - Australia: several 1917 through 1971 transitions
+ - Bermuda: several 1917 through 1956 transitions
- Belize: several 1942 through 1968 transitions
- Israel and Palestine: several 1940 through 1985 transitions
- Kenya and adjacent: several 1908 through 1960 transitions
diff --git a/northamerica b/northamerica
index 6a66617..d5abf21 100644
--- a/northamerica
+++ b/northamerica
@@ -3018,20 +3018,107 @@ Zone America/Belize -5:52:48 - LMT 1912 Apr 1
# Bermuda
+# From Paul Eggert (2020-11-24):
# For 1899 Milne gives -4:19:18.3 as the meridian of the clock tower,
-# Bermuda dockyard, Ireland I; round that.
+# Bermuda dockyard, Ireland I. This agrees with standard offset given in the
+# Daylight Saving Act, 1917 cited below. Round that to the nearest second.
+# It is not known when this time became standard for Bermuda; guess 1890.
+# The transition to -04 was specified by:
+# 1930: The Time Zone Act, 1929 (1929: No. 39) [1929-11-08]
+# https://books.google.com/books?id=7tdMAQAAIAAJ&pg=RA54-PP1
+
+# From P Chan (2020-11-20):
+# Most of the information can be found online from the Bermuda National
+# Library - Digital Collection which includes The Royal Gazette (RG) until 1957
+# https://bnl.contentdm.oclc.org/digital/
+# I will cite the ID. For example, [10000] means
+# https://bnl.contentdm.oclc.org/digital/collection/BermudaNP02/id/10000
+#
+# 1917: Apr 5 midnight to Sep 30 midnight
+# Daylight Saving Act, 1917 (1917 No. 13) [1917-04-02]
+# Bermuda Acts and Resolves 1917, p 37-38
+# https://books.google.com/books?id=M-lCAQAAMAAJ&pg=PA36-IA2
+# RG, 1917-04-04, p 6 [42340] gives the spring forward date.
+#
+# 1918: Apr 13 midnight to Sep 15 midnight
+# Daylight Saving Act, 1918 (1918 No. 9) [1918-04-06]
+# Bermuda Acts and Resolves 1917, p 13
+# https://books.google.com/books?id=K-lCAQAAMAAJ&pg=RA1-PA7
+#
+# Note that local mean time was still used before 1930.
+#
+# During WWII, DST was introduced by Defence Regulations
+# 1942: Jan 11 02:00 to Oct 18 02:00 [113646], [115726]
+# 1943: Mar 21 02:00 to Oct 31 02:00 [116704], [118193]
+# 1944: Mar 12 02:00 to Nov 5 02:00 [119225], [121593]
+# 1945: Mar 11 02:00 to Nov 4 02:00 [122369], [124461]
+# RG, 1942-01-08, p 2, 1942-10-12, p 2 , 1943-03-06, p 2, 1943-09-03, p 1,
+# 1944-02-29, p 6, 1944-09-20, p 2, 1945-02-13, p 2, 1945-11-03, p 1
+#
+# In 1946, the House of Assembly rejected DST twice. [128686], [128076]
+# RG, 1946-03-16 p 1,1946-04-13 p 1
+#
+# 1947: third Sunday in May 02:00 to second Sunday in September 02:00
+# DST in 1947 was defined in the Daylight Saving Act, 1947 (1947: No. 12)
+# which expired at the end of the year. [125784] ,[132405], [144454], [138226]
+# RG, 1947-02-27, p 1, 1947-05-15, p 1, 1947-09-13, p 1, 1947-12-30, p 1
+#
+# 1948-1952: fourth Sunday in May 02:00 to first Sunday in September 02:00
+# DST in 1948 was defined in the Daylight Saving Act, 1948 (1948 : No. 12)
+# which was set to expired at the end of the year but it was extended until
+# the end of 1952 and was not further extended.
+# [129802], [139403], [146008], [135240], [144330], [139049], [143309],
+# [148271], [149773], [153589], [153802], [155924]
+# RG, 1948-04-13, p 1, 1948-05-22, p 1, 1948-09-04, p 1, 1949-05-21, p1,
+# 1949-09-03, p 1, 1950-05-27 p 1, 1950-09-02, p 1, 1951-05-27, p 1,
+# 1951-09-01, p 1, 1952-05-23, p 1, 1952-09-26, p 1, 1952-12-21, p 8
+#
+# In 1953-1955, the House of Assembly rejected DST each year. [158996],
+# [162620], [166720] RG, 1953-05-02, p 1, 1954-04-01 p 1, 1955-03-12, p 1
+#
+# 1956: fourth Sunday in May 02:00 to last Sunday in October 02:00
+# Time Zone (Seasonal Variation) Act, 1956 (1956: No.44) [1956-05-25]
+# Bermuda Public Acts 1956, p 331-332
+# https://books.google.com/books?id=Xs1AlmD_cEwC&pg=PA63
+#
+# The extension of the Act was rejected by the House of Assembly. [176218]
+# RG, 1956-12-13, p 1
+#
+# From the Chronological Table of Public and Private Acts up to 1985, it seems
+# that there does not exist other Acts related to DST before 1973.
+# https://books.google.com/books?id=r9hMAQAAIAAJ&pg=RA23-PA1
+# Public Acts of the Legislature of the Islands of Bermuda, Together with
+# Statutory Instruments in Force Thereunder, Vol VII
# From Dan Jones, reporting in The Royal Gazette (2006-06-26):
-
# Next year, however, clocks in the US will go forward on the second Sunday
# in March, until the first Sunday in November. And, after the Time Zone
# (Seasonal Variation) Bill 2006 was passed in the House of Assembly on
# Friday, the same thing will happen in Bermuda.
# http://www.theroyalgazette.com/apps/pbcs.dll/article?AID=/20060529/NEWS/105290135
+# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+Rule Bermuda 1917 only - Apr 5 24:00 1:00 -
+Rule Bermuda 1917 only - Sep 30 24:00 0 -
+Rule Bermuda 1918 only - Apr 13 24:00 1:00 -
+Rule Bermuda 1918 only - Sep 15 24:00 0 S
+Rule Bermuda 1942 only - Jan 11 2:00 1:00 D
+Rule Bermuda 1942 only - Oct 18 2:00 0 S
+Rule Bermuda 1943 only - Mar 21 2:00 1:00 D
+Rule Bermuda 1943 only - Oct 31 2:00 0 S
+Rule Bermuda 1944 1945 - Mar Sun>=8 2:00 1:00 D
+Rule Bermuda 1944 1945 - Nov Sun>=1 2:00 0 S
+Rule Bermuda 1947 only - May Sun>=15 2:00 1:00 D
+Rule Bermuda 1947 only - Sep Sun>=8 2:00 0 S
+Rule Bermuda 1948 1952 - May Sun>=22 2:00 1:00 D
+Rule Bermuda 1948 1952 - Sep Sun>=1 2:00 0 S
+Rule Bermuda 1956 only - May Sun>=22 2:00 1:00 D
+Rule Bermuda 1956 only - Oct lastSun 2:00 0 S
+
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Atlantic/Bermuda -4:19:18 - LMT 1930 Jan 1 2:00 # Hamilton
- -4:00 - AST 1974 Apr 28 2:00
+Zone Atlantic/Bermuda -4:19:18 - LMT 1890 # Hamilton
+ -4:19:18 Bermuda BMT/BST 1930 Jan 1 2:00
+ -4:00 Bermuda A%sT 1974 Apr 28 2:00
-4:00 Canada A%sT 1976
-4:00 US A%sT
diff --git a/theory.html b/theory.html
index 4613799..28f6b8e 100644
--- a/theory.html
+++ b/theory.html
@@ -474,8 +474,8 @@ in decreasing order of importance:
<p>
<small>These abbreviations are:
AMT Amsterdam, Asunción, Athens;
- BMT Baghdad, Bangkok, Batavia, Bern, Bogotá, Bridgetown, Brussels,
- Bucharest;
+ BMT Baghdad, Bangkok, Batavia, Bermuda, Bern, Bogotá, Bridgetown,
+ Brussels, Bucharest;
CMT Calamarca, Caracas, Chisinau, Colón, Copenhagen, Córdoba;
DMT Dublin/Dunsink;
EMT Easter;
@@ -506,6 +506,7 @@ in decreasing order of importance:
<small>A few abbreviations also follow the pattern that
<abbr>GMT</abbr>/<abbr>BST</abbr> established for time in the UK.
They are:
+ BMT/BST for Bermuda 1890&ndash;1930,
CMT/BST for Calamarca Mean Time and Bolivian Summer Time
1890&ndash;1932,
DMT/IST for Dublin/Dunsink Mean Time and Irish Summer Time
--
1.8.3.1

View File

@ -1,147 +0,0 @@
From 7cc6d7c00e29399e7fd158c49706165dcfe9b664 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 25 Nov 2020 09:26:40 -0800
Subject: [PATCH] Fix several pre-1957 transitions for Ghana
* NEWS: Mention this.
* africa (Ghana, Africa/Accra): Update to match the legal citations.
---
NEWS | 1 +
africa | 107 ++++++++++++++++++++++++++++++++++++++++++++++++-----------------
2 files changed, 80 insertions(+), 28 deletions(-)
diff --git a/NEWS b/NEWS
index d9fe116..d357abb 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,7 @@ Unreleased, experimental changes
- Australia: several 1917 through 1971 transitions
- Bermuda: several 1917 through 1956 transitions
- Belize: several 1942 through 1968 transitions
+ - Ghana: several 1915 through 1956 transitions
- Israel and Palestine: several 1940 through 1985 transitions
- Kenya and adjacent: several 1908 through 1960 transitions
(Thanks to P Chan.)
diff --git a/africa b/africa
index 2313e71..285688d 100644
--- a/africa
+++ b/africa
@@ -386,36 +386,87 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# Ghana
-# From Paul Eggert (2018-01-30):
-# Whitman says DST was observed from 1931 to "the present";
-# Shanks & Pottenger say 1936 to 1942 with 20 minutes of DST,
-# with transitions on 09-01 and 12-31 at 00:00.
-# Page 33 of Parish GCB, Colonial Reports - Annual. No. 1066. Gold
-# Coast. Report for 1919. (March 1921), OCLC 784024077
-# http://libsysdigi.library.illinois.edu/ilharvest/africana/books2011-05/5530214/5530214_1919/5530214_1919_opt.pdf
-# lists the Determination of the Time Ordinance, 1919, No. 18,
-# "to advance the time observed locally by the space of twenty minutes
-# during the last four months of each year; the object in view being
-# to extend during those months the period of daylight-time available
-# for evening recreation after office hours."
-# Vanessa Ogle, The Global Transformation of Time, 1870-1950 (2015), p 33,
-# writes "In 1919, the Gold Coast (Ghana as of 1957) made Greenwich
-# time its legal time and simultaneously legalized a summer time of
-# UTC - 00:20 minutes from March to October."; a footnote lists
-# the ordinance as being dated 1919-11-24.
-# The Crown Colonist, Volume 12 (1942), p 176, says "the Government
-# intend advancing Gold Coast time half an hour ahead of G.M.T.
-# The actual date of the alteration has not yet been announced."
-# These sources are incomplete and contradictory. Possibly what is
-# now Ghana observed different DST regimes in different years. For
-# lack of better info, use Shanks except treat the minus sign as a
-# typo, and assume DST started in 1920 not 1936.
+# From P Chan (2020-11-20):
+# Interpretation Amendment Ordinance, 1915 (No.24 of 1915) [1915-11-02]
+# Ordinances of the Gold Coast, Ashanti, Northern Territories 1915, p 69-71
+# https://books.google.com/books?id=ErA-AQAAIAAJ&pg=PA70
+# This Ordinance added "'Time' shall mean Greenwich Mean Time" to the
+# Interpretation Ordinance, 1876.
+#
+# Determination of the Time Ordinance, 1919 (No. 18 of 1919) [1919-11-24]
+# Ordinances of the Gold Coast, Ashanti, Northern Territories 1919, p 75-76
+# https://books.google.com/books?id=MbA-AQAAIAAJ&pg=PA75
+# This Ordinance removed the previous definition of time and introduced DST.
+#
+# Time Determination Ordinance (Cap. 214)
+# The Laws of the Gold Coast (including Togoland Under British Mandate)
+# Vol. II (1937), p 2328
+# https://books.google.com/books?id=Z7M-AQAAIAAJ&pg=PA2328
+# Revised edition of the 1919 Ordinance.
+#
+# Time Determination (Amendment) Ordinance, 1940 (No. 9 of 1940) [1940-04-06]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1940, p 22
+# https://books.google.com/books?id=1ao-AQAAIAAJ&pg=PA22
+# This Ordinance changed the forward transition from September to May.
+#
+# Defence (Time Determination Ordinance Amendment) Regulations, 1942
+# (Regulations No. 6 of 1942) [1942-01-31, commenced on 1942-02-08]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1942, p 48
+# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA48
+# These regulations advanced the [standard] time by thirty minutes.
+#
+# Defence (Time Determination Ordinance Amendment (No.2)) Regulations,
+# 1942 (Regulations No. 28 of 1942) [1942-04-25]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1942, p 87
+# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA87
+# These regulations abolished DST and changed the time to GMT+0:30.
+#
+# Defence (Revocation) (No.4) Regulations, 1945 (Regulations No. 45 of
+# 1945) [1945-10-24, commenced on 1946-01-06]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1945, p 256
+# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA256
+# These regulations revoked the previous two sets of Regulations.
+#
+# Time Determination (Amendment) Ordinance, 1945 (No. 18 of 1945) [1946-01-06]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1945, p 69
+# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA69
+# This Ordinance abolished DST.
+#
+# Time Determination (Amendment) Ordinance, 1950 (No. 26 of 1950) [1950-07-22]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1950, p 35
+# https://books.google.com/books?id=e60-AQAAIAAJ&pg=PA35
+# This Ordinance restored DST but with thirty minutes offset.
+#
+# Time Determination Ordinance (Cap. 264)
+# The Laws of the Gold Coast, Vol. V (1954), p 380
+# https://books.google.com/books?id=Mqc-AQAAIAAJ&pg=PA380
+# Revised edition of the Time Determination Ordinance.
+#
+# Time Determination (Amendment) Ordinance, 1956 (No. 21 of 1956) [1956-08-29]
+# Annual Volume of the Ordinances of the Gold Coast Enacted During the
+# Year 1956, p 83
+# https://books.google.com/books?id=VLE-AQAAIAAJ&pg=PA83
+# This Ordinance abolished DST.
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Ghana 1920 1942 - Sep 1 0:00 0:20 -
-Rule Ghana 1920 1942 - Dec 31 0:00 0 -
+Rule Ghana 1920 only - Nov 24 0:00 0:20 +0020
+Rule Ghana 1920 1946 - Jan 1 2:00 0 GMT
+Rule Ghana 1921 1939 - Sep 1 2:00 0:20 +0020
+Rule Ghana 1940 1945 - May 1 2:00 0:20 +0020
+Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030
+Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT
+
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Africa/Accra -0:00:52 - LMT 1918
- 0:00 Ghana GMT/+0020
+Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2
+ 0:00 Ghana %s 1942 Feb 8
+ 0:30 - +0030 1942 Oct 24
+ 0:00 Ghana %s
# Guinea
# See Africa/Abidjan.
--
1.8.3.1

View File

@ -1,228 +0,0 @@
From 1aca4cad3692063cd5cb571883ccf6d04b3c2991 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 24 Nov 2020 15:40:34 -0800
Subject: [PATCH] Fix several pre-1972 transitions for Australia
(Thanks to P Chan.) This entails obsoleting Australia/Currie.
* NEWS: mention this.
* australasia (Aus): Use 2:00s for Australian DST transitions, as
per the legal citations. Prefer lastSun to explicit dates if that
is what the law said.
(AT): Add DST for late 1917 through early 1919. Prefer the
oddball Sun>=29 to match the legal wording better (5th Sunday).
(Australia/Currie): Move from here ...
* backzone (Australia/Currie): ... to here, and correct because
King Island restarted DST in late 1968, not late 1971.
* backward (Australia/Currie): New backward-compatibility link.
* zone.tab, zone1970.tab (Australia/Currie): Remove.
---
NEWS | 15 +++++++++----
australasia | 71 +++++++++++++++++++++++++++++++++++++++++++++---------------
backward | 1 +
backzone | 6 +++++
zone.tab | 3 +--
zone1970.tab | 3 +--
6 files changed, 73 insertions(+), 26 deletions(-)
diff --git a/NEWS b/NEWS
index 756bbe0..f7b0461 100644
--- a/NEWS
+++ b/NEWS
@@ -4,13 +4,20 @@ Unreleased, experimental changes
Changes to past timestamps
- Correct several pre-1970 transitions, fixing entries originally
+ Correct several pre-1972 transitions, fixing entries originally
derived from Shanks. The fixes include:
- - Several 1942 through 1968 transitions for Belize.
- - Several 1940 through 1985 transitions for Israel and Palestine.
- - Several 1908 through 1960 transitions for Kenya and adjacent.
+ - Australia: several 1917 through 1971 transitions.
+ - Belize: several 1942 through 1968 transitions
+ - Israel and Palestine: several 1940 through 1985 transitions
+ - Kenya and adjacent: several 1908 through 1960 transitions
(Thanks to P Chan.)
+ Because of the Australia change, Australia/Currie (King Island) is
+ no longer needed, as it is identical to Australia/Hobart for all
+ timestamps since 1970 and was therefore created by mistake.
+ Australia/Currie has been moved to the 'backward' file and its
+ corrected data moved to the 'backzone' file.
+
Release 2020d - 2020-10-21 11:24:13 -0700
diff --git a/australasia b/australasia
index aa7ab7f..d6c4e7c 100644
--- a/australasia
+++ b/australasia
@@ -14,16 +14,13 @@
# Please see the notes below for the controversy about "EST" versus "AEST" etc.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Aus 1917 only - Jan 1 0:01 1:00 D
-Rule Aus 1917 only - Mar 25 2:00 0 S
-Rule Aus 1942 only - Jan 1 2:00 1:00 D
-Rule Aus 1942 only - Mar 29 2:00 0 S
-Rule Aus 1942 only - Sep 27 2:00 1:00 D
-Rule Aus 1943 1944 - Mar lastSun 2:00 0 S
-Rule Aus 1943 only - Oct 3 2:00 1:00 D
-# Go with Whitman and the Australian National Standards Commission, which
-# says W Australia didn't use DST in 1943/1944. Ignore Whitman's claim that
-# 1944/1945 was just like 1943/1944.
+Rule Aus 1917 only - Jan 1 2:00s 1:00 D
+Rule Aus 1917 only - Mar lastSun 2:00s 0 S
+Rule Aus 1942 only - Jan 1 2:00s 1:00 D
+Rule Aus 1942 only - Mar lastSun 2:00s 0 S
+Rule Aus 1942 only - Sep 27 2:00s 1:00 D
+Rule Aus 1943 1944 - Mar lastSun 2:00s 0 S
+Rule Aus 1943 only - Oct 3 2:00s 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Northern Territory
@@ -115,8 +112,12 @@ Zone Australia/Adelaide 9:14:20 - LMT 1895 Feb
# says King Island didn't observe DST from WWII until late 1971.
#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+Rule AT 1916 only - Oct Sun>=1 2:00s 1:00 D
+Rule AT 1917 only - Mar lastSun 2:00s 0 S
+Rule AT 1917 1918 - Oct Sun>=22 2:00s 1:00 D
+Rule AT 1918 1919 - Mar Sun>=1 2:00s 0 S
Rule AT 1967 only - Oct Sun>=1 2:00s 1:00 D
-Rule AT 1968 only - Mar lastSun 2:00s 0 S
+Rule AT 1968 only - Mar Sun>=29 2:00s 0 S
Rule AT 1968 1985 - Oct lastSun 2:00s 1:00 D
Rule AT 1969 1971 - Mar Sun>=8 2:00s 0 S
Rule AT 1972 only - Feb lastSun 2:00s 0 S
@@ -136,15 +137,9 @@ Rule AT 2007 only - Mar lastSun 2:00s 0 S
Rule AT 2008 max - Apr Sun>=1 2:00s 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Australia/Hobart 9:49:16 - LMT 1895 Sep
- 10:00 - AEST 1916 Oct 1 2:00
- 10:00 1:00 AEDT 1917 Feb
+ 10:00 AT AE%sT 1919 Oct 24
10:00 Aus AE%sT 1967
10:00 AT AE%sT
-Zone Australia/Currie 9:35:28 - LMT 1895 Sep
- 10:00 - AEST 1916 Oct 1 2:00
- 10:00 1:00 AEDT 1917 Feb
- 10:00 Aus AE%sT 1971 Jul
- 10:00 AT AE%sT
# Victoria
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
@@ -958,6 +953,25 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Electronic Journal of Australian and New Zealand History (1997-03-03)
# http://www.jcu.edu.au/aff/history/reviews/davison.htm
+# From P Chan (2020-11-20):
+# Daylight Saving Act 1916 (No. 40 of 1916) [1916-12-21, commenced 1917-01-01]
+# http://classic.austlii.edu.au/au/legis/cth/num_act/dsa1916401916192/
+#
+# Daylight Saving Repeal Act 1917 (No. 35 of 1917) [1917-09-25]
+# http://classic.austlii.edu.au/au/legis/cth/num_act/dsra1917351917243/
+#
+# Statutory Rules 1941, No. 323 [1941-12-24]
+# https://www.legislation.gov.au/Details/C1941L00323
+#
+# Statutory Rules 1942, No. 392 [1942-09-10]
+# https://www.legislation.gov.au/Details/C1942L00392
+#
+# Statutory Rules 1943, No. 241 [1943-09-29]
+# https://www.legislation.gov.au/Details/C1943L00241
+#
+# All transition times should be 02:00 standard time.
+
+
# From Paul Eggert (2005-12-08):
# Implementation Dates of Daylight Saving Time within Australia
# http://www.bom.gov.au/climate/averages/tables/dst_times.shtml
@@ -1350,6 +1364,27 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Tasmania
+# From P Chan (2020-11-20):
+# Tasmania observed DST in 1916-1919.
+#
+# Daylight Saving Act, 1916 (7 Geo V, No 2) [1916-09-22]
+# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsa19167gvn2267/
+#
+# Daylight Saving Amendment Act, 1917 (8 Geo V, No 5) [1917-10-01]
+# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsaa19178gvn5347/
+#
+# Daylight Saving Act Repeal Act, 1919 (10 Geo V, No 9) [1919-10-24]
+# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsara191910gvn9339/
+#
+# King Island is mentioned in the 1967 Act but not the 1968 Act.
+# Therefore it possibly observed DST from 1968/69.
+#
+# Daylight Saving Act 1967 (No. 33 of 1967) [1967-09-22]
+# http://classic.austlii.edu.au/au/legis/tas/num_act/dsa196733o1967211/
+#
+# Daylight Saving Act 1968 (No. 42 of 1968) [1968-10-15]
+# http://classic.austlii.edu.au/au/legis/tas/num_act/dsa196842o1968211/
+
# The rules for 1967 through 1991 were reported by George Shepherd
# via Simon Woodhead via Robert Elz (1991-03-06):
# # The state of TASMANIA.. [Courtesy Tasmanian Dept of Premier + Cabinet ]
diff --git a/backward b/backward
index e13ae52..0c55be2 100644
--- a/backward
+++ b/backward
@@ -49,6 +49,7 @@ Link Atlantic/Faroe Atlantic/Faeroe
Link Europe/Oslo Atlantic/Jan_Mayen
Link Australia/Sydney Australia/ACT
Link Australia/Sydney Australia/Canberra
+Link Australia/Hobart Australia/Currie
Link Australia/Lord_Howe Australia/LHI
Link Australia/Sydney Australia/NSW
Link Australia/Darwin Australia/North
diff --git a/backzone b/backzone
index 563aff6..3ce7277 100644
--- a/backzone
+++ b/backzone
@@ -623,6 +623,12 @@ Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown
-0:22:48 - JMT 1951 # Jamestown Mean Time
0:00 - GMT
+# King Island
+Zone Australia/Currie 9:35:28 - LMT 1895 Sep
+ 10:00 AT AE%sT 1919 Oct 24
+ 10:00 Aus AE%sT 1968 Oct 15
+ 10:00 AT AE%sT
+
# Northern Ireland
Zone Europe/Belfast -0:23:40 - LMT 1880 Aug 2
-0:25:21 - DMT 1916 May 21 2:00
diff --git a/zone.tab b/zone.tab
index 6333b99..fe48c13 100644
--- a/zone.tab
+++ b/zone.tab
@@ -56,8 +56,7 @@ AS -1416-17042 Pacific/Pago_Pago
AT +4813+01620 Europe/Vienna
AU -3133+15905 Australia/Lord_Howe Lord Howe Island
AU -5430+15857 Antarctica/Macquarie Macquarie Island
-AU -4253+14719 Australia/Hobart Tasmania (most areas)
-AU -3956+14352 Australia/Currie Tasmania (King Island)
+AU -4253+14719 Australia/Hobart Tasmania
AU -3749+14458 Australia/Melbourne Victoria
AU -3352+15113 Australia/Sydney New South Wales (most areas)
AU -3157+14127 Australia/Broken_Hill New South Wales (Yancowinna)
diff --git a/zone1970.tab b/zone1970.tab
index 699dda2..205ed5a 100644
--- a/zone1970.tab
+++ b/zone1970.tab
@@ -63,8 +63,7 @@ AS,UM -1416-17042 Pacific/Pago_Pago Samoa, Midway
AT +4813+01620 Europe/Vienna
AU -3133+15905 Australia/Lord_Howe Lord Howe Island
AU -5430+15857 Antarctica/Macquarie Macquarie Island
-AU -4253+14719 Australia/Hobart Tasmania (most areas)
-AU -3956+14352 Australia/Currie Tasmania (King Island)
+AU -4253+14719 Australia/Hobart Tasmania
AU -3749+14458 Australia/Melbourne Victoria
AU -3352+15113 Australia/Sydney New South Wales (most areas)
AU -3157+14127 Australia/Broken_Hill New South Wales (Yancowinna)
--
1.8.3.1

View File

@ -1,48 +0,0 @@
From 0b5ae1fb7a8034a3560ae7b5df914092dc12bb7d Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 2 Dec 2020 15:39:41 -0800
Subject: [PATCH] Fix some errors in recent Bahamas changes
(Thanks to P Chan.)
* northamerica (Bahamas): Bahamas started DST in 1942, not 1941.
"Midnight" meant 24:00 (not 00:00) for three WWII transitions.
---
northamerica | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/northamerica b/northamerica
index 6916880..d8bb8f8 100644
--- a/northamerica
+++ b/northamerica
@@ -2935,9 +2935,10 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
#
# For 1899 Milne gives -5:09:29.5; round that.
#
-# From P Chan (2020-11-27)
-# There were two periods of DST observed in 1941-1945: 1941-05-01 midnight to
-# 1944-12-31 and 1945-02-01 to 1945-10-17 midnight.
+# From P Chan (2020-11-27, corrected on 2020-12-02):
+# There were two periods of DST observed in 1942-1945: 1942-05-01
+# midnight to 1944-12-31 midnight and 1945-02-01 to 1945-10-17 midnight.
+# "midnight" should mean 24:00 from the context.
#
# War Time Order 1942 [1942-05-01] and War Time (No. 2) Order 1942 [1942-09-29]
# Appendix to the Statutes of 7 George VI. and the Year 1942. p 34, 43
@@ -2961,11 +2962,11 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
# http://www.jonesbahamas.com/?c=45&a=10412
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Bahamas 1941 only - May 1 0:00 1:00 W
-Rule Bahamas 1944 only - Dec 31 0:00 0 S
+Rule Bahamas 1942 only - May 1 24:00 1:00 W
+Rule Bahamas 1944 only - Dec 31 24:00 0 S
Rule Bahamas 1945 only - Feb 1 0:00 1:00 W
Rule Bahamas 1945 only - Aug 14 23:00u 1:00 P # Peace
-Rule Bahamas 1945 only - Oct 17 0:00 0 S
+Rule Bahamas 1945 only - Oct 17 24:00 0 S
Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S
Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
--
1.8.3.1

View File

@ -1,48 +0,0 @@
From 52ba05422a75b5d5bb7b57f5fa353a7142975948 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 26 Oct 2020 19:34:50 -0700
Subject: [PATCH 6/6] Fix zone*.tab Yukon comment columns
Problem reported by Chris Walton in:
https://mm.icann.org/pipermail/tz/2020-October/029411.html
* zone.tab, zone1970.tab: Yukon is MST, not Pacific.
---
zone.tab | 4 ++--
zone1970.tab | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/zone.tab b/zone.tab
index 8d056e3..6333b99 100644
--- a/zone.tab
+++ b/zone.tab
@@ -130,9 +130,9 @@ CA +682059-1334300 America/Inuvik Mountain - NT (west)
CA +4906-11631 America/Creston MST - BC (Creston)
CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
+CA +6043-13503 America/Whitehorse MST - Yukon (east)
+CA +6404-13925 America/Dawson MST - Yukon (west)
CA +4916-12307 America/Vancouver Pacific - BC (most areas)
-CA +6043-13503 America/Whitehorse Pacific - Yukon (east)
-CA +6404-13925 America/Dawson Pacific - Yukon (west)
CC -1210+09655 Indian/Cocos
CD -0418+01518 Africa/Kinshasa Dem. Rep. of Congo (west)
CD -1140+02728 Africa/Lubumbashi Dem. Rep. of Congo (east)
diff --git a/zone1970.tab b/zone1970.tab
index 53ee77e..699dda2 100644
--- a/zone1970.tab
+++ b/zone1970.tab
@@ -127,9 +127,9 @@ CA +682059-1334300 America/Inuvik Mountain - NT (west)
CA +4906-11631 America/Creston MST - BC (Creston)
CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
+CA +6043-13503 America/Whitehorse MST - Yukon (east)
+CA +6404-13925 America/Dawson MST - Yukon (west)
CA +4916-12307 America/Vancouver Pacific - BC (most areas)
-CA +6043-13503 America/Whitehorse Pacific - Yukon (east)
-CA +6404-13925 America/Dawson Pacific - Yukon (west)
CC -1210+09655 Indian/Cocos
CH,DE,LI +4723+00832 Europe/Zurich Swiss time
CI,BF,GM,GN,ML,MR,SH,SL,SN,TG +0519-00402 Africa/Abidjan
--
1.8.3.1

View File

@ -1,102 +0,0 @@
From 6427fe6c0cca1dc0f8580f8b96348911ad051570 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 1 Oct 2020 23:59:18 -0700
Subject: [PATCH 38/47] Fixes for Casey and Macquarie
* NEWS: Mention this. (Thanks to Steffen Thorsen.)
* antarctica (Antarctica/Casey): +08 in winter, +11 in summer
since 2018, too.
* australasia (Antarctica/Macquarie): Stay in sync with
Hobart starting in 2011.
---
NEWS | 9 +++++++++
antarctica | 25 ++++++++++++++++++++-----
australasia | 5 +++--
3 files changed, 32 insertions(+), 7 deletions(-)
diff --git a/NEWS b/NEWS
index df81d55..f0858f8 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,8 @@ Unreleased, experimental changes
Briefly:
Revised predictions for Morocco's changes starting in 2023.
Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.
+ Macquarie Island has stayed in sync with Tasmania since 2011.
+ Casey, Antarctica is at +08 in summer and +11 in winter.
Changes to future timestamps
@@ -13,6 +15,13 @@ Unreleased, experimental changes
(Thanks to Milamber.) The first altered prediction is for 2023,
now predicted to spring-forward on April 30 instead of April 23.
+ Changes to past and future timestamps
+
+ Casey Station, Antarctica has been using +08 in summer and +11 in
+ winter since 2018. The next transition is from +08 to +11 on
+ 2020-10-04 00:01. Also, Macquarie Island has been staying in
+ sync with Tasmania since 2011. (Thanks to Steffen Thorsen.)
+
Changes to past and future time zone abbreviations and DST flags
Canada's Yukon, represented by America/Whitehorse and
diff --git a/antarctica b/antarctica
index 2059983..94aeb17 100644
--- a/antarctica
+++ b/antarctica
@@ -70,15 +70,30 @@
# Australian Antarctica Division informed us that Casey changed time
# zone to UTC+11 in "the morning of 22nd October 2016".
+# From Steffen Thorsen (2020-10-02):
+# Based on information we have received from the Australian Antarctic
+# Division, Casey station and Macquarie Island station will move to Tasmanian
+# daylight savings time on Sunday 4 October. This will take effect from 0001
+# hrs on Sunday 4 October 2020 and will mean Casey and Macquarie Island will
+# be on the same time zone as Hobart. Some past dates too for this 3 hour
+# time change back and forth between UTC+8 and UTC+11 for Casey:
+# - 2018 Oct 7 4:00 - 2019 Mar 17 3:00 - 2019 Oct 6 3:00 - 2020 Mar 8 3:00
+# and now - 2020 Oct 4 0:01
+
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Antarctica/Casey 0 - -00 1969
- 8:00 - +08 2009 Oct 18 2:00
+Zone Antarctica/Casey 0 - -00 1969
+ 8:00 - +08 2009 Oct 18 2:00
11:00 - +11 2010 Mar 5 2:00
- 8:00 - +08 2011 Oct 28 2:00
+ 8:00 - +08 2011 Oct 28 2:00
11:00 - +11 2012 Feb 21 17:00u
- 8:00 - +08 2016 Oct 22
+ 8:00 - +08 2016 Oct 22
11:00 - +11 2018 Mar 11 4:00
- 8:00 - +08
+ 8:00 - +08 2018 Oct 7 4:00
+ 11:00 - +11 2019 Mar 17 3:00
+ 8:00 - +08 2019 Oct 6 3:00
+ 11:00 - +11 2020 Mar 8 3:00
+ 8:00 - +08 2020 Oct 4 0:01
+ 11:00 - +11
Zone Antarctica/Davis 0 - -00 1957 Jan 13
7:00 - +07 1964 Nov
0 - -00 1969 Feb
diff --git a/australasia b/australasia
index ac44c04..31b3b36 100644
--- a/australasia
+++ b/australasia
@@ -252,8 +252,9 @@ Zone Antarctica/Macquarie 0 - -00 1899 Nov
10:00 Aus AE%sT 1919 Apr 1 0:00s
0 - -00 1948 Mar 25
10:00 Aus AE%sT 1967
- 10:00 AT AE%sT 2010 Apr 4 3:00
- 11:00 - +11
+ 10:00 AT AE%sT 2010
+ 10:00 1:00 AEDT 2011
+ 10:00 AT AE%sT
# Christmas
# Zone NAME STDOFF RULES FORMAT [UNTIL]
--
1.8.3.1

View File

@ -1,106 +0,0 @@
From 1c8ce71c30b2acb8453b2b43c67052a6f9db2090 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 10 Jun 2020 13:51:29 -0700
Subject: [PATCH 10/47] =?UTF-8?q?French=20clocks=20stopped=20for=209?=
=?UTF-8?q?=E2=80=B221=E2=80=B3=20on=201911-03-11?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
(Thanks to Michael Deckers.)
* NEWS, theory.html (Accuracy of the tz database): Mention this.
* europe (Europe/Paris): Model the 1911-03-11 transition as
occurring at 00:09:21, not at 00:01.
---
NEWS | 7 +++++++
europe | 30 +++++++++++++++++++++++++++++-
theory.html | 7 +++++++
3 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index e3ab402..5289d4e 100644
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,13 @@ Unreleased, experimental changes
(Thanks to Géza Nyáry.) Also, the 1890 transition to standard
time was on 11-01, not 10-01 (thanks to Michael Deckers).
+ The 1911-03-11 French transition from +00:09:21 to +00 is now
+ modeled as occurring at 00:09:21, not at 00:01. Legally, clocks
+ stopped at 00:00 for 9 minutes, 21 seconds but this cannot be
+ represented in tzdb, so tzdb instead represents the common
+ practice of keeping an old clock running until the new clock
+ started up. (Thanks to Michael Deckers.)
+
Changes to code
The undocumented and ineffective tzsetwall function has been
diff --git a/europe b/europe
index f0acb42..4fa7119 100644
--- a/europe
+++ b/europe
@@ -1326,6 +1326,34 @@ Link Europe/Helsinki Europe/Mariehamn
# Françoise Gauquelin, Problèmes de l'heure résolus en astrologie,
# Guy Trédaniel, Paris 1987
+# From Michael Deckers (2020-06-10):
+# Le Gaulois, 1911-03-11, page 1/6, online at
+# https://www.retronews.fr/societe/echo-de-presse/2018/01/29/1911-change-lheure-de-paris
+# ... [ Instantly, all pressure driven clock dials halted... Nine minutes and
+# twenty-one seconds later the hands resumed their circular motion. ]
+# There are also precise reports about how the change was prepared in train
+# stations: all the publicly visible clocks stopped at midnight railway time
+# (or were covered), only the chief of service had a watch, labeled
+# "Heure ancienne", that he kept running until it reached 00:04:21, when
+# he announced "Heure nouvelle". See the "Le Petit Journal 1911-03-11".
+# https://gallica.bnf.fr/ark:/12148/bpt6k6192911/f1.item.zoom
+#
+# From Paul Eggert (2020-06-10):
+# French time in railway stations was legally five minutes behind civil time,
+# which explains why "old time" ran to 00:04:21 instead of to 00:09:21.
+# The Brooklyn Daily Eagle Almanac (1912), page 494, says:
+#
+# ALL CLOCKS STOPPED IN FRANCE.
+# On March 10, 1911, all clocks in the Republic of France were stopped
+# for 9 minutes and 21 seconds. This was in obedience to a measure
+# adopted by the French Senate, which went into effect at midnight....
+# Owing to this change in time a question arose in the French press as
+# to whether or not a child that was born and died within the elapsed
+# time could be said to have legally lived.
+#
+# tzdb has no way to represent stopped clocks. As the railway practice
+# was to keep a watch running on "old time" to decide when to restart
+# the other clocks, model this as a transition for "old time" at 00:09:21.
#
# Shank & Pottenger seem to use '24:00' ambiguously; resolve it with Whitman.
@@ -1395,7 +1423,7 @@ Rule France 1976 only - Sep 26 1:00 0 -
# on PMT-0:09:21 until 1978-08-09, when the time base finally switched to UTC.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15 0:01
- 0:09:21 - PMT 1911 Mar 11 0:01 # Paris MT
+ 0:09:21 - PMT 1911 Mar 11 0:09:21 # Paris MT
# Shanks & Pottenger give 1940 Jun 14 0:00; go with Excoffier and Le Corre.
0:00 France WE%sT 1940 Jun 14 23:00
# Le Corre says Paris stuck with occupied-France time after the liberation;
diff --git a/theory.html b/theory.html
index ffa3b4d..de105f2 100644
--- a/theory.html
+++ b/theory.html
@@ -691,6 +691,13 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
<code><abbr>tz</abbr></code> database requires.
</li>
<li>
+ The <code><abbr>tz</abbr></code> database cannot represent stopped clocks.
+ However, on 1911-03-11 at 00:00, French clocks were changed by
+ stopping them for 9 minutes, 21 seconds. This is approximated
+ in <code><abbr>tz</abbr></code> as a transition from 00:09:21 back
+ to 00:00:00 that day.
+ </li>
+ <li>
Sometimes historical timekeeping was specified more precisely
than what the <code><abbr>tz</abbr></code> code can handle.
For example, from 1909 to 1937 <a
--
1.8.3.1

View File

@ -1,165 +0,0 @@
From ddb5717c56a9bd5a18cab7666d1530de5ef7a66c Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 11 Jun 2020 20:19:14 -0700
Subject: [PATCH 11/47] Further fixes to 1891 and 1911 French transitions
(Thanks to Michael Decker.)
* NEWS: Mention this.
* africa (Africa/Algiers): Treat 1891 and 1911 like Paris.
(Africa/Tunis): Treat 1911 like Paris.
* europe (Europe/Paris): The 1891-03-16 transition was at
midnight, not a minute later.
(Europe/Monaco): Treat 1891 and 1911 like Paris.
---
NEWS | 7 ++++---
africa | 13 +++++--------
europe | 34 ++++++++++++++++++++++------------
3 files changed, 31 insertions(+), 23 deletions(-)
diff --git a/NEWS b/NEWS
index 5289d4e..84c87ee 100644
--- a/NEWS
+++ b/NEWS
@@ -17,11 +17,12 @@ Unreleased, experimental changes
time was on 11-01, not 10-01 (thanks to Michael Deckers).
The 1911-03-11 French transition from +00:09:21 to +00 is now
- modeled as occurring at 00:09:21, not at 00:01. Legally, clocks
+ modeled as occurring at 00:09:21, not at 00:01. Clocks reportedly
stopped at 00:00 for 9 minutes, 21 seconds but this cannot be
- represented in tzdb, so tzdb instead represents the common
+ represented in tzdb, so tzdb instead represents the also-common
practice of keeping an old clock running until the new clock
- started up. (Thanks to Michael Deckers.)
+ started up. Similarly for the 1895-03-16 transition.
+ (Thanks to Michael Deckers.)
Changes to code
diff --git a/africa b/africa
index 5d3beb0..d5ddbce 100644
--- a/africa
+++ b/africa
@@ -87,11 +87,10 @@ Rule Algeria 1978 only - Mar 24 1:00 1:00 S
Rule Algeria 1978 only - Sep 22 3:00 0 -
Rule Algeria 1980 only - Apr 25 0:00 1:00 S
Rule Algeria 1980 only - Oct 31 2:00 0 -
-# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
-# more precise 0:09:21.
+# See Europe/Paris for PMT-related transitions.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
- 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
+Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 16 0:02:51
+ 0:09:21 - PMT 1911 Mar 11 0:09:21 # Paris MT
0:00 Algeria WE%sT 1940 Feb 25 2:00
1:00 Algeria CE%sT 1946 Oct 7
0:00 - WET 1956 Jan 29
@@ -1464,12 +1463,10 @@ Rule Tunisia 2005 only - Sep 30 1:00s 0 -
Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
-# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
-# more precise 0:09:21.
-# Shanks & Pottenger say the 1911 switch was on Mar 9; go with Howse's Mar 11.
+# See Europe/Paris for PMT-related transitions.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
- 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
+ 0:09:21 - PMT 1911 Mar 11 0:09:21 # Paris MT
1:00 Tunisia CE%sT
# Uganda
diff --git a/europe b/europe
index 4fa7119..6e3fe33 100644
--- a/europe
+++ b/europe
@@ -606,13 +606,13 @@ Rule C-Eur 1944 only - Oct 2 2:00s 0 -
# corrected in version 2008d). The circumstantial evidence is simply the
# tz database itself, as seen below:
#
-# Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15 0:01
+# Zone Europe/Paris ...
# 0:00 France WE%sT 1945 Sep 16 3:00
#
-# Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15
+# Zone Europe/Monaco ...
# 0:00 France WE%sT 1945 Sep 16 3:00
#
-# Zone Europe/Belgrade 1:22:00 - LMT 1884
+# Zone Europe/Belgrade ...
# 1:00 1:00 CEST 1945 Sep 16 2:00s
#
# Rule France 1945 only - Sep 16 3:00 0 -
@@ -1326,6 +1326,10 @@ Link Europe/Helsinki Europe/Mariehamn
# Françoise Gauquelin, Problèmes de l'heure résolus en astrologie,
# Guy Trédaniel, Paris 1987
+# From Michael Deckers (2020-06-11):
+# the law of 1891 <https://gallica.bnf.fr/ark:/12148/bpt6k64415343.texteImage>
+# was published on 1891-03-15, so it could only take force on 1891-03-16.
+
# From Michael Deckers (2020-06-10):
# Le Gaulois, 1911-03-11, page 1/6, online at
# https://www.retronews.fr/societe/echo-de-presse/2018/01/29/1911-change-lheure-de-paris
@@ -1338,7 +1342,7 @@ Link Europe/Helsinki Europe/Mariehamn
# he announced "Heure nouvelle". See the "Le Petit Journal 1911-03-11".
# https://gallica.bnf.fr/ark:/12148/bpt6k6192911/f1.item.zoom
#
-# From Paul Eggert (2020-06-10):
+# From Paul Eggert (2020-06-11):
# French time in railway stations was legally five minutes behind civil time,
# which explains why "old time" ran to 00:04:21 instead of to 00:09:21.
# The Brooklyn Daily Eagle Almanac (1912), page 494, says:
@@ -1351,9 +1355,18 @@ Link Europe/Helsinki Europe/Mariehamn
# to whether or not a child that was born and died within the elapsed
# time could be said to have legally lived.
#
+# There are similar stories in the Washington Herald and Washington Times
+# (1911-03-11). The law's text (which Michael Deckers noted is at
+# <https://gallica.bnf.fr/ark:/12148/bpt6k2022333z/f2>) says only that
+# at 1911-03-11 00:00 legal time was that of Paris mean time delayed by
+# nine minutes and twenty-one seconds, and does not say how the
+# transition from Paris mean time was to occur.
+#
# tzdb has no way to represent stopped clocks. As the railway practice
# was to keep a watch running on "old time" to decide when to restart
# the other clocks, model this as a transition for "old time" at 00:09:21.
+# Do something similar for the 1891-03-16 transition, which has a similar
+# problem in Algiers and Monaco.
#
# Shank & Pottenger seem to use '24:00' ambiguously; resolve it with Whitman.
@@ -1417,12 +1430,10 @@ Rule France 1945 only - Sep 16 3:00 0 -
# go with Excoffier's 28/3/76 0hUT and 25/9/76 23hUT.
Rule France 1976 only - Mar 28 1:00 1:00 S
Rule France 1976 only - Sep 26 1:00 0 -
-# Shanks & Pottenger give 0:09:20 for Paris Mean Time, and Whitman 0:09:05,
-# but Howse quotes the actual French legislation as saying 0:09:21.
-# Go with Howse. Howse writes that the time in France was officially based
+# Howse writes that the time in France was officially based
# on PMT-0:09:21 until 1978-08-09, when the time base finally switched to UTC.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15 0:01
+Zone Europe/Paris 0:09:21 - LMT 1891 Mar 16
0:09:21 - PMT 1911 Mar 11 0:09:21 # Paris MT
# Shanks & Pottenger give 1940 Jun 14 0:00; go with Excoffier and Le Corre.
0:00 France WE%sT 1940 Jun 14 23:00
@@ -2064,11 +2075,10 @@ Zone Europe/Chisinau 1:55:20 - LMT 1880
2:00 Moldova EE%sT
# Monaco
-# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
-# more precise 0:09:21.
+# See Europe/Paris for PMT-related transitions.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15
- 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
+Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 16 0:20:11
+ 0:09:21 - PMT 1911 Mar 11 0:09:21 # Paris MT
0:00 France WE%sT 1945 Sep 16 3:00
1:00 France CE%sT 1977
1:00 EU CE%sT
--
1.8.3.1

View File

@ -1,260 +0,0 @@
From 110feebd90ec7e9ad553c803c896890d28cb53e7 Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Sat, 3 Oct 2020 18:11:18 -0400
Subject: [PATCH 42/47] Further update code to match Link line field names
Follow up on changes released in 2014g which renamed the fields of Link
lines to TARGET and LINK-NAME, to be more descriptive and more like the
parameters of 'ln'.
* zic.c: Rename parameters and locals for consistency throughout.
(LF_TARGET, LF_LINKNAME): Rename macros from LF_FROM and LF_TO,
respectively.
(struct link): Rename l_from to l_target, and l_to to l_linkname.
(inlink): Update error message for consistency with field name.
---
zic.c | 110 +++++++++++++++++++++++++++++++++---------------------------------
1 file changed, 55 insertions(+), 55 deletions(-)
diff --git a/zic.c b/zic.c
index 4df4093..a47c052 100644
--- a/zic.c
+++ b/zic.c
@@ -132,22 +132,22 @@ struct zone {
#if !HAVE_POSIX_DECLS
extern int getopt(int argc, char * const argv[],
const char * options);
-extern int link(const char * fromname, const char * toname);
+extern int link(const char * target, const char * linkname);
extern char * optarg;
extern int optind;
#endif
#if ! HAVE_LINK
-# define link(from, to) (errno = ENOTSUP, -1)
+# define link(target, linkname) (errno = ENOTSUP, -1)
#endif
#if ! HAVE_SYMLINK
# define readlink(file, buf, size) (errno = ENOTSUP, -1)
-# define symlink(from, to) (errno = ENOTSUP, -1)
+# define symlink(target, linkname) (errno = ENOTSUP, -1)
# define S_ISLNK(m) 0
#endif
#ifndef AT_SYMLINK_FOLLOW
-# define linkat(fromdir, from, todir, to, flag) \
- (itssymlink(from) ? (errno = ENOTSUP, -1) : link(from, to))
+# define linkat(targetdir, target, linknamedir, linkname, flag) \
+ (itssymlink(target) ? (errno = ENOTSUP, -1) : link(target, linkname))
#endif
static void addtt(zic_t starttime, int type);
@@ -273,8 +273,8 @@ static int typecnt;
** Which fields are which on a Link line.
*/
-#define LF_FROM 1
-#define LF_TO 2
+#define LF_TARGET 1
+#define LF_LINKNAME 2
#define LINK_FIELDS 3
/*
@@ -311,8 +311,8 @@ static ptrdiff_t nzones_alloc;
struct link {
const char * l_filename;
lineno l_linenum;
- const char * l_from;
- const char * l_to;
+ const char * l_target;
+ const char * l_linkname;
};
static struct link * links;
@@ -826,11 +826,11 @@ _("%s: invalid time range: %s\n"),
*/
for (i = 0; i < nlinks; ++i) {
eat(links[i].l_filename, links[i].l_linenum);
- dolink(links[i].l_from, links[i].l_to, false);
+ dolink(links[i].l_target, links[i].l_linkname, false);
if (noise)
for (j = 0; j < nlinks; ++j)
- if (strcmp(links[i].l_to,
- links[j].l_from) == 0)
+ if (strcmp(links[i].l_linkname,
+ links[j].l_target) == 0)
warning(_("link to link"));
}
if (lcltime != NULL) {
@@ -922,27 +922,27 @@ namecheck(const char *name)
is relative to the global variable DIRECTORY. TO can be either
relative or absolute. */
static char *
-relname(char const *from, char const *to)
+relname(char const *target, char const *linkname)
{
size_t i, taillen, dotdotetcsize;
size_t dir_len = 0, dotdots = 0, linksize = SIZE_MAX;
- char const *f = from;
+ char const *f = target;
char *result = NULL;
- if (*to == '/') {
+ if (*linkname == '/') {
/* Make F absolute too. */
size_t len = strlen(directory);
bool needslash = len && directory[len - 1] != '/';
- linksize = len + needslash + strlen(from) + 1;
+ linksize = len + needslash + strlen(target) + 1;
f = result = emalloc(linksize);
strcpy(result, directory);
result[len] = '/';
- strcpy(result + len + needslash, from);
+ strcpy(result + len + needslash, target);
}
- for (i = 0; f[i] && f[i] == to[i]; i++)
+ for (i = 0; f[i] && f[i] == linkname[i]; i++)
if (f[i] == '/')
dir_len = i + 1;
- for (; to[i]; i++)
- dotdots += to[i] == '/' && to[i - 1] != '/';
+ for (; linkname[i]; i++)
+ dotdots += linkname[i] == '/' && linkname[i - 1] != '/';
taillen = strlen(f + dir_len);
dotdotetcsize = 3 * dotdots + taillen + 1;
if (dotdotetcsize <= linksize) {
@@ -958,56 +958,56 @@ relname(char const *from, char const *to)
/* Hard link FROM to TO, following any symbolic links.
Return 0 if successful, an error number otherwise. */
static int
-hardlinkerr(char const *from, char const *to)
+hardlinkerr(char const *target, char const *linkname)
{
- int r = linkat(AT_FDCWD, from, AT_FDCWD, to, AT_SYMLINK_FOLLOW);
+ int r = linkat(AT_FDCWD, target, AT_FDCWD, linkname, AT_SYMLINK_FOLLOW);
return r == 0 ? 0 : errno;
}
static void
-dolink(char const *fromfield, char const *tofield, bool staysymlink)
+dolink(char const *target, char const *linkname, bool staysymlink)
{
- bool remove_only = strcmp(fromfield, "-") == 0;
- bool todirs_made = false;
+ bool remove_only = strcmp(target, "-") == 0;
+ bool linkdirs_made = false;
int link_errno;
/*
** We get to be careful here since
** there's a fair chance of root running us.
*/
- if (!remove_only && itsdir(fromfield)) {
- fprintf(stderr, _("%s: link from %s/%s failed: %s\n"),
- progname, directory, fromfield, strerror(EPERM));
+ if (!remove_only && itsdir(target)) {
+ fprintf(stderr, _("%s: linking target %s/%s failed: %s\n"),
+ progname, directory, target, strerror(EPERM));
exit(EXIT_FAILURE);
}
if (staysymlink)
- staysymlink = itssymlink(tofield);
- if (remove(tofield) == 0)
- todirs_made = true;
+ staysymlink = itssymlink(linkname);
+ if (remove(linkname) == 0)
+ linkdirs_made = true;
else if (errno != ENOENT) {
char const *e = strerror(errno);
fprintf(stderr, _("%s: Can't remove %s/%s: %s\n"),
- progname, directory, tofield, e);
+ progname, directory, linkname, e);
exit(EXIT_FAILURE);
}
if (remove_only)
return;
- link_errno = staysymlink ? ENOTSUP : hardlinkerr(fromfield, tofield);
- if (link_errno == ENOENT && !todirs_made) {
- mkdirs(tofield, true);
- todirs_made = true;
- link_errno = hardlinkerr(fromfield, tofield);
+ link_errno = staysymlink ? ENOTSUP : hardlinkerr(target, linkname);
+ if (link_errno == ENOENT && !linkdirs_made) {
+ mkdirs(linkname, true);
+ linkdirs_made = true;
+ link_errno = hardlinkerr(target, linkname);
}
if (link_errno != 0) {
- bool absolute = *fromfield == '/';
- char *linkalloc = absolute ? NULL : relname(fromfield, tofield);
- char const *contents = absolute ? fromfield : linkalloc;
- int symlink_errno = symlink(contents, tofield) == 0 ? 0 : errno;
- if (!todirs_made
+ bool absolute = *target == '/';
+ char *linkalloc = absolute ? NULL : relname(target, linkname);
+ char const *contents = absolute ? target : linkalloc;
+ int symlink_errno = symlink(contents, linkname) == 0 ? 0 : errno;
+ if (!linkdirs_made
&& (symlink_errno == ENOENT || symlink_errno == ENOTSUP)) {
- mkdirs(tofield, true);
+ mkdirs(linkname, true);
if (symlink_errno == ENOENT)
- symlink_errno = symlink(contents, tofield) == 0 ? 0 : errno;
+ symlink_errno = symlink(contents, linkname) == 0 ? 0 : errno;
}
free(linkalloc);
if (symlink_errno == 0) {
@@ -1017,24 +1017,24 @@ dolink(char const *fromfield, char const *tofield, bool staysymlink)
} else {
FILE *fp, *tp;
int c;
- fp = fopen(fromfield, "rb");
+ fp = fopen(target, "rb");
if (!fp) {
char const *e = strerror(errno);
fprintf(stderr, _("%s: Can't read %s/%s: %s\n"),
- progname, directory, fromfield, e);
+ progname, directory, target, e);
exit(EXIT_FAILURE);
}
- tp = fopen(tofield, "wb");
+ tp = fopen(linkname, "wb");
if (!tp) {
char const *e = strerror(errno);
fprintf(stderr, _("%s: Can't create %s/%s: %s\n"),
- progname, directory, tofield, e);
+ progname, directory, linkname, e);
exit(EXIT_FAILURE);
}
while ((c = getc(fp)) != EOF)
putc(c, tp);
- close_file(fp, directory, fromfield);
- close_file(tp, directory, tofield);
+ close_file(fp, directory, target);
+ close_file(tp, directory, linkname);
if (link_errno != ENOTSUP)
warning(_("copy used because hard link failed: %s"),
strerror(link_errno));
@@ -1613,16 +1613,16 @@ inlink(char **fields, int nfields)
error(_("wrong number of fields on Link line"));
return;
}
- if (*fields[LF_FROM] == '\0') {
- error(_("blank FROM field on Link line"));
+ if (*fields[LF_TARGET] == '\0') {
+ error(_("blank TARGET field on Link line"));
return;
}
- if (! namecheck(fields[LF_TO]))
+ if (! namecheck(fields[LF_LINKNAME]))
return;
l.l_filename = filename;
l.l_linenum = linenum;
- l.l_from = ecpyalloc(fields[LF_FROM]);
- l.l_to = ecpyalloc(fields[LF_TO]);
+ l.l_target = ecpyalloc(fields[LF_TARGET]);
+ l.l_linkname = ecpyalloc(fields[LF_LINKNAME]);
links = growalloc(links, sizeof *links, nlinks, &nlinks_alloc);
links[nlinks++] = l;
}
--
1.8.3.1

View File

@ -1,184 +0,0 @@
From ccbd7d2eff2449cef48aefcd41dd87034940007b Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 12 Jun 2020 14:35:33 -0700
Subject: [PATCH 13/47] Go back to midnight transitions for France etc.
* NEWS: Simplify.
* africa (Africa/Algiers, Africa/Tunis):
* europe (Europe/Monaco):
Propagate changes from Paris.
* europe (Europe/Paris): Assume 1911 transition was at 00:00.
* theory.html (Accuracy of the tz database): Adjust accordingly.
---
NEWS | 11 ++++-------
africa | 6 +++---
europe | 63 ++++++++++++++++++++++++++++++++++++++++---------------------
theory.html | 9 +++++----
4 files changed, 54 insertions(+), 35 deletions(-)
diff --git a/NEWS b/NEWS
index ec73943..3bcddd0 100644
--- a/NEWS
+++ b/NEWS
@@ -16,13 +16,10 @@ Unreleased, experimental changes
(Thanks to Géza Nyáry.) Also, the 1890 transition to standard
time was on 11-01, not 10-01 (thanks to Michael Deckers).
- The 1911-03-11 French transition from +00:09:21 to +00 is now
- modeled as occurring at 00:09:21, not at 00:01. Clocks reportedly
- stopped at 00:00 for 9 minutes, 21 seconds but this cannot be
- represented in tzdb, so tzdb instead represents the also-common
- practice of keeping an old clock running until the new clock
- started up. Similarly for the 1891-03-16 transition.
- (Thanks to Michael Deckers.)
+ The 1891 French transition was on March 16, not March 15. The
+ 1911-03-11 French transition was at midnight, not a minute later.
+ Monaco's transitions were on 1892-06-01 and 1911-03-29, not
+ 1891-03-15 and 1911-03-11. (Thanks to Michael Deckers.)
Changes to code
diff --git a/africa b/africa
index d5ddbce..567ad90 100644
--- a/africa
+++ b/africa
@@ -89,8 +89,8 @@ Rule Algeria 1980 only - Apr 25 0:00 1:00 S
Rule Algeria 1980 only - Oct 31 2:00 0 -
# See Europe/Paris for PMT-related transitions.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 16 0:02:51
- 0:09:21 - PMT 1911 Mar 11 0:09:21 # Paris MT
+Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 16
+ 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
0:00 Algeria WE%sT 1940 Feb 25 2:00
1:00 Algeria CE%sT 1946 Oct 7
0:00 - WET 1956 Jan 29
@@ -1466,7 +1466,7 @@ Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
# See Europe/Paris for PMT-related transitions.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
- 0:09:21 - PMT 1911 Mar 11 0:09:21 # Paris MT
+ 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
1:00 Tunisia CE%sT
# Uganda
diff --git a/europe b/europe
index 6e3fe33..e8ec780 100644
--- a/europe
+++ b/europe
@@ -1342,21 +1342,24 @@ Link Europe/Helsinki Europe/Mariehamn
# he announced "Heure nouvelle". See the "Le Petit Journal 1911-03-11".
# https://gallica.bnf.fr/ark:/12148/bpt6k6192911/f1.item.zoom
#
-# From Paul Eggert (2020-06-11):
+# From Michael Deckers (2020-06-12):
+# That "all French clocks stopped" for 00:09:21 is a misreading of French
+# newspapers; this sort of adjustment applies only to certain
+# remote-controlled clocks ("pendules pneumatiques", of which there existed
+# perhaps a dozen in Paris, and which simply could not be set back remotely),
+# but not to all the clocks in all French towns and villages. For instance,
+# the following story in the "Courrier de Saône-et-Loire" 1911-03-11, page 2:
+# only works if legal time was stepped back (was not monotone): ...
+# [One can observe that children who had been born at midnight less 5
+# minutes and who had died at midnight of the old time, would turn out to
+# be dead before being born, time having been set back and having
+# suppressed 9 minutes and 25 seconds of their existence, that is, more
+# than they could spend.]
+#
+# From Paul Eggert (2020-06-12):
# French time in railway stations was legally five minutes behind civil time,
-# which explains why "old time" ran to 00:04:21 instead of to 00:09:21.
-# The Brooklyn Daily Eagle Almanac (1912), page 494, says:
-#
-# ALL CLOCKS STOPPED IN FRANCE.
-# On March 10, 1911, all clocks in the Republic of France were stopped
-# for 9 minutes and 21 seconds. This was in obedience to a measure
-# adopted by the French Senate, which went into effect at midnight....
-# Owing to this change in time a question arose in the French press as
-# to whether or not a child that was born and died within the elapsed
-# time could be said to have legally lived.
-#
-# There are similar stories in the Washington Herald and Washington Times
-# (1911-03-11). The law's text (which Michael Deckers noted is at
+# which explains why railway "old time" ran to 00:04:21 instead of to 00:09:21.
+# The law's text (which Michael Deckers noted is at
# <https://gallica.bnf.fr/ark:/12148/bpt6k2022333z/f2>) says only that
# at 1911-03-11 00:00 legal time was that of Paris mean time delayed by
# nine minutes and twenty-one seconds, and does not say how the
@@ -1364,9 +1367,13 @@ Link Europe/Helsinki Europe/Mariehamn
#
# tzdb has no way to represent stopped clocks. As the railway practice
# was to keep a watch running on "old time" to decide when to restart
-# the other clocks, model this as a transition for "old time" at 00:09:21.
-# Do something similar for the 1891-03-16 transition, which has a similar
-# problem in Algiers and Monaco.
+# the other clocks, this could be modeled as a transition for "old time" at
+# 00:09:21. However, since the law was ambiguous and clocks outside railway
+# stations were probably done haphazardly with the popular impression being
+# that the transition was done at 00:00 "old time", simply leave the time
+# blank; this causes zic to default to 00:00 "old time" which is good enough.
+# Do something similar for the 1891-03-16 transition. There are similar
+# problems in Algiers, Monaco and Tunis.
#
# Shank & Pottenger seem to use '24:00' ambiguously; resolve it with Whitman.
@@ -1434,7 +1441,7 @@ Rule France 1976 only - Sep 26 1:00 0 -
# on PMT-0:09:21 until 1978-08-09, when the time base finally switched to UTC.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Paris 0:09:21 - LMT 1891 Mar 16
- 0:09:21 - PMT 1911 Mar 11 0:09:21 # Paris MT
+ 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
# Shanks & Pottenger give 1940 Jun 14 0:00; go with Excoffier and Le Corre.
0:00 France WE%sT 1940 Jun 14 23:00
# Le Corre says Paris stuck with occupied-France time after the liberation;
@@ -2075,10 +2082,24 @@ Zone Europe/Chisinau 1:55:20 - LMT 1880
2:00 Moldova EE%sT
# Monaco
-# See Europe/Paris for PMT-related transitions.
+#
+# From Michael Deckers (2020-06-12):
+# In the "Journal de Monaco" of 1892-05-24, online at
+# https://journaldemonaco.gouv.mc/var/jdm/storage/original/application/b1c67c12c5af11b41ea888fb048e4fe8.pdf
+# we read: ...
+# [In virtue of a Sovereign Ordinance of the May 13 of the current [year],
+# legal time in the Principality will be set to, from the date of June 1,
+# 1892 onwards, to the meridian of Paris, as in France.]
+# In the "Journal de Monaco" of 1911-03-28, online at
+# https://journaldemonaco.gouv.mc/var/jdm/storage/original/application/de74ffb7db53d4f599059fe8f0ed482a.pdf
+# we read an ordinance of 1911-03-16: ...
+# [Legal time in the Pricipality will be set, from the date of promulgation
+# of the present ordinance, to legal time in France. Consequently, legal
+# time will be retarded by 9 minutes and 21 seconds.]
+#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 16 0:20:11
- 0:09:21 - PMT 1911 Mar 11 0:09:21 # Paris MT
+Zone Europe/Monaco 0:29:32 - LMT 1892 Jun 1
+ 0:09:21 - PMT 1911 Mar 29 # Paris Mean Time
0:00 France WE%sT 1945 Sep 16 3:00
1:00 France CE%sT 1977
1:00 EU CE%sT
diff --git a/theory.html b/theory.html
index de105f2..1a5b568 100644
--- a/theory.html
+++ b/theory.html
@@ -692,10 +692,11 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
</li>
<li>
The <code><abbr>tz</abbr></code> database cannot represent stopped clocks.
- However, on 1911-03-11 at 00:00, French clocks were changed by
- stopping them for 9 minutes, 21 seconds. This is approximated
- in <code><abbr>tz</abbr></code> as a transition from 00:09:21 back
- to 00:00:00 that day.
+ However, on 1911-03-11 at 00:00, some public-facing French clocks
+ were changed by stopping them for a few minutes to effect a transition.
+ The <code><abbr>tz</abbr></code> database models this via a
+ backward transition; the relevant French legislation does not
+ specify exactly how the transition was to occur.
</li>
<li>
Sometimes historical timekeeping was specified more precisely
--
1.8.3.1

View File

@ -1,56 +0,0 @@
From 1d8d276b3194456ccc0b2bfecac7714aca9047a5 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 9 Jun 2020 08:42:39 -0700
Subject: [PATCH 08/47] Improve 1890 Hungarian transition.
(Thanks to Michael Deckers.)
* NEWS: Mention this.
* europe (Europe/Budapest): 1890 transition on Nov 1, not Oct.
---
NEWS | 3 ++-
europe | 8 +++++++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/NEWS b/NEWS
index 91ab463..e3ab402 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,8 @@ Unreleased, experimental changes
Correct several transitions for Hungary for 1918/1983.
For example, the 1983-09-25 fall-back was at 01:00, not 03:00.
- (Thanks to Géza Nyáry.)
+ (Thanks to Géza Nyáry.) Also, the 1890 transition to standard
+ time was on 11-01, not 10-01 (thanks to Michael Deckers).
Changes to code
diff --git a/europe b/europe
index 48e1eeb..c2a44ad 100644
--- a/europe
+++ b/europe
@@ -1511,6 +1511,12 @@ Zone Europe/Athens 1:34:52 - LMT 1895 Sep 14
2:00 EU EE%sT
# Hungary
+
+# From Michael Deckers (2020-06-09):
+# an Austrian encyclopedia of railroads of 1913, online at
+# http://www.zeno.org/Roell-1912/A/Eisenbahnzeit
+# says that the switch [to CET] happened on 1890-11-01.
+
# From Géza Nyáry (2020-06-07):
# Data for 1918-1983 are based on the archive database of Library Hungaricana.
# The dates are collected from original, scanned governmental orders,
@@ -1539,7 +1545,7 @@ Rule Hungary 1980 only - Sep 28 1:00 0 -
Rule Hungary 1981 1983 - Mar lastSun 0:00 1:00 S
Rule Hungary 1981 1983 - Sep lastSun 1:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Europe/Budapest 1:16:20 - LMT 1890 Oct
+Zone Europe/Budapest 1:16:20 - LMT 1890 Nov 1
1:00 C-Eur CE%sT 1918
1:00 Hungary CE%sT 1941 Apr 7 23:00
1:00 C-Eur CE%sT 1945
--
1.8.3.1

View File

@ -1,98 +0,0 @@
From 980306471fee903863c399741a38aa898c335979 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sat, 17 Oct 2020 17:56:33 -0700
Subject: [PATCH] Improve TZUpdater and Python links
* tz-link.html: Improve URLs to TZUpdater (thanks to
Brian Inglis) and modernize the discussion of TZUpdater
and some of its competitors. Likewise for Python.
---
tz-link.html | 35 ++++++++++++++++++++---------------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/tz-link.html b/tz-link.html
index 606a83b..a0e35a0 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -245,13 +245,12 @@ href="https://play.google.com/store/apps/details?id=com.google.android.timezone.
<a
href="http://userguide.icu-project.org/datetime/timezone"><abbr
title="International Components for Unicode">ICU</abbr></a>,
-<a href="https://developer.ibm.com/javasdk/support/dst/jtzu/"><abbr>IBM</abbr></a>
-and <a
-href="https://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html">Oracle</a>
-Java, <a href="https://www.joda.org/joda-time/tz_update.html">Joda-Time</a>, <a
+<a href="https://developer.ibm.com/javasdk/support/dst/jtzu/"><abbr>IBM</abbr>
+JDK</a>,
+<a href="https://www.joda.org/joda-time/tz_update.html">Joda-Time</a>, <a
href="https://dev.mysql.com/doc/refman/en/time-zone-support.html">MySQL</a>,
-and <a
-href="https://nodatime.org/userguide/tzdb">Noda Time</a> (see below).
+<a href="https://nodatime.org/userguide/tzdb">Noda Time</a>, and <a
+href="https://www.oracle.com/java/technologies/javase/tzupdater-readme.html#usage">OpenJDK/Oracle JDK</a>.
</p>
<p>Sources for the <code><abbr>tz</abbr></code> database are
<a href="https://en.wikipedia.org/wiki/UTF-8"><abbr
@@ -436,9 +435,13 @@ freely available under the <abbr>MIT</abbr> license.</li>
<li>Java-based compilers and libraries include:
<ul>
<li>The <a
-href="https://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html">TZUpdater
+href="https://www.oracle.com/java/technologies/javase/tzupdater-readme.html">TZUpdater
tool</a> compiles <code><abbr>tz</abbr></code> source into the format used by
-Oracle Java.</li>
+<a href="https://openjdk.java.net/">OpenJDK</a> and
+<a href="https://jdk.java.net/">Oracle JDK</a>.
+Although its source code is proprietary, its executable is available under the
+<a href="https://www.oracle.com/a/tech/docs/tzupdater-lic.html">Java SE
+Timezone Updater License Agreement</a>.</li>
<li>The <a
href="https://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html">Java
SE 8 Date and Time</a> <abbr>API</abbr> can be supplemented by <a
@@ -451,11 +454,10 @@ and time <abbr>API</abbr></a> contains a class
Java 8 <code>java.time</code>, which its users should migrate to once
they can assume Java 8 or later. It is available under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License</a>.</li>
-<li><a href="https://bell-sw.com/pages/iana-updater/">IANA Updater</a>,
-<a href="https://github.com/akashche/tzdbgen">tzdbgen</a>, and <a
+<li><a href="https://bell-sw.com/pages/iana-updater/">IANA Updater</a> and <a
href="https://www.azul.com/products/open-source-tools/ziupdater-time-zone-tool/">ZIUpdater</a>
-are other alternatives to TZUpdater. IANA Updater's license is unclear;
-the others are licensed under the <abbr>GPL</abbr>.</li>
+are alternatives to TZUpdater. IANA Updater's license is unclear;
+ZIUpdater is licensed under the <abbr>GPL</abbr>.</li>
<li><a href="https://github.com/MenoData/Time4A">Time4A: Advanced date and
time library for Android</a> and
<a href="https://github.com/MenoData/Time4J/">Time4J: Advanced date,
@@ -515,7 +517,10 @@ It is freely available under a <abbr>BSD</abbr>-style license.</li>
<li><a href="http://pytz.sourceforge.net">pytz &ndash; World Timezone
Definitions for Python</a> compiles <code><abbr>tz</abbr></code> source into
<a href="https://www.python.org">Python</a>.
-It is freely available under a <abbr>BSD</abbr>-style license.</li>
+It is freely available under a <abbr>BSD</abbr>-style license.
+In code that can assume Python 3.9 or later it is superseded by
+<a href="#python-zoneinfo"><code>zoneinfo.ZoneInfo</code></a>
+and the <a href="#pypi-tzdata"><code>tzdata</code> Python package</a>.</li>
<li><a href="https://tzinfo.github.io">TZInfo &ndash;
Ruby Timezone Library</a>
compiles <code><abbr>tz</abbr></code> source into
@@ -579,14 +584,14 @@ DateTime::TimeZone::Tzfile</a>
is a <abbr>TZif</abbr> file reader written in Perl.
It is freely available under the same terms as Perl
(dual <abbr>GPL</abbr> and Artistic license).</li>
-<li>Python has a <a
+<li>Python has a <a id="python-zoneinfo"
href="https://docs.python.org/3.9/library/zoneinfo.html"><code>zoneinfo.ZoneInfo</code>
class</a> that reads <abbr>TZif</abbr> data and creates objects
that represent <code><abbr>tzdb</abbr></code> timezones.
Python is freely available under the
<a href="https://docs.python.org/3.9/license.html">Python Software Foundation
License</a>.
-A companion <a href="https://pypi.org/">PyPI</a> module
+A companion <a id="pypi-tzdata"> href="https://pypi.org/">PyPI</a> module
<a href="https://pypi.org/project/tzdata/"><code>tzdata</code></a>
supplies TZif data if the underlying system data cannot be found;
it is freely available under the Apache License.</li>
--
1.8.3.1

View File

@ -1,77 +0,0 @@
From b804a741d5cdb5d1b761de9ad053ba916fa08636 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 22 Dec 2020 15:11:11 -0800
Subject: [PATCH] Improve doc of zic coalescing zone+DST transitions
* zic.8: Improve documentation for how certain transitions
are coalesced. Also, use current data for America/Menominee
instead an America/Grand_Turk entry that not in current data.
Improvements suggested by Tim Parenti.
---
zic.8 | 36 +++++++++++++++++++++---------------
1 file changed, 21 insertions(+), 15 deletions(-)
diff --git a/zic.8 b/zic.8
index 2273dad..60262d7 100644
--- a/zic.8
+++ b/zic.8
@@ -590,35 +590,41 @@ first transition into standard time.
In a single zone it is an error if two rules take effect at the same
instant, or if two zone changes take effect at the same instant.
.PP
-If a continuation line subtracts from the UT offset after a transition that
-would be interpreted to be later if using the continuation line's rules, the
+If a continuation line subtracts
+.I N
+seconds from the UT offset after a transition that would be
+interpreted to be later if using the continuation line's UT offset and
+rules, the
.q "until"
-time of the earlier zone or continuation line is interpreted according
-to the continuation line's rules.
+time of the previous zone or continuation line is interpreted
+according to the continuation line's UT offset and rules, and any rule
+that would otherwise take effect in the next
+.I N
+seconds is instead assumed to take effect simultaneously.
For example:
.br
.ne 7
.nf
.in +2m
-.ta \w'# Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'max\0\0'u +\w'\*-\0\0'u +\w'Mar\0\0'u +\w'Sun>=8\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u
+.ta \w'# Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'2006\0\0'u +\w'\*-\0\0'u +\w'Oct\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u
.sp
# Rule NAME FROM TO \*- IN ON AT SAVE LETTER/S
-Rule US 2007 max \*- Mar Sun>=8 2:00 1:00 D
-Rule US 2007 max \*- Nov Sun>=1 2:00 0 S
-.ta \w'Zone\0\0America/Grand_Turk\0\0'u +\w'STDOFF\0\0'u +\w'RULES\0\0'u +\w'FORMAT\0\0'u
+Rule US 1967 2006 - Oct lastSun 2:00 0 S
+Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
+.ta \w'Zone\0\0America/Menominee\0\0'u +\w'STDOFF\0\0'u +\w'RULES\0\0'u +\w'FORMAT\0\0'u
# Zone\0\0NAME STDOFF RULES FORMAT [UNTIL]
-Zone\0\0America/Grand_Turk \*-4:00 \*- AST 2018 Mar 11 2:00
- \*-5:00 US E%sT
+Zone\0\0America/Menominee \*-5:00 \*- EST 1973 Apr 29 2:00
+ \*-6:00 US C%sT
.sp
.in
.fi
-Here, an incorrect reading would be there were two clock changes on 2018-03-11,
-the first from 02:00 AST (\*-04) to 01:00 EST (\*-05),
-and the second an hour later from 02:00 EST (\*-05) to 03:00 EDT (\*-04).
+Here, an incorrect reading would be there were two clock changes on 1973-04-29,
+the first from 02:00 EST (\*-05) to 01:00 CST (\*-06),
+and the second an hour later from 02:00 CST (\*-06) to 03:00 CDT (\*-05).
However,
.B zic
-interprets this more sensibly as a single transition from 02:00 AST (\*-04) to
-02:00 EDT (\*-04).
+interprets this more sensibly as a single transition from 02:00 CST (\*-05) to
+02:00 CDT (\*-05).
.PP
A link line has the form
.sp
--
1.8.3.1

View File

@ -1,45 +0,0 @@
From 241e6df0731f0e8d2a07a7ac42878f00086bd642 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 10 Sep 2020 17:48:59 -0700
Subject: [PATCH 32/47] Improve heads-up advice
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* tz-link.html (Changes to the tz database): Clarify that
an official announcement should be made a year before
changes affect clocks, and that its OK to give more than
a years notice. From suggestions by Florian Weimer
and Robert Elz.
---
tz-link.html | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/tz-link.html b/tz-link.html
index dfdaece..e6e4acd 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -215,13 +215,18 @@ generated <a href="https://github.com/timparenti/tzdata-meta">automatically</a>.
If your government plans to change its time zone boundaries or
daylight saving rules, inform <code>tz@iana.org</code> well in
advance, as this will coordinate updates to many cell phones,
-computers, and other devices around the world. With
-less than a year's notice there is a good chance that some
+computers, and other devices around the world.
+The change should be officially announced at least a year before it affects
+how clocks operate; otherwise, there is a good chance that some
computer-based clocks will operate incorrectly after the change, due
to delays in propagating updates to software and data. The shorter
the notice, the more likely clock problems will arise; see "<a
href="https://codeofmatt.com/2016/04/23/on-the-timing-of-time-zone-changes/">On
the Timing of Time Zone Changes</a>" for examples.
+The <code><abbr>tz</abbr></code> data can represent planned changes
+far into the future, and a long-planned change can easily be reverted
+or otherwise altered with a year's notice before the change would have
+affected clocks.
</p>
<p>
Changes to the <code><abbr>tz</abbr></code> code and data are often
--
1.8.3.1

View File

@ -1,62 +0,0 @@
From a9f13275780c5e5699edf11752fc9fbb77a7d9df Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 20 Aug 2020 09:41:53 -0700
Subject: [PATCH 28/47] Mention Intl.DateTimeFormat
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Inspired by email from Matt Johnson-Pint in:
https://mm.icann.org/pipermail/tz/2020-August/029222.html
* tz-link.html: Mention JavaScripts Intl.DateTimeFormat
and its polyfill. Coalesce JavaScript citations.
---
tz-link.html | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/tz-link.html b/tz-link.html
index cd51b71..8141d71 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -466,9 +466,16 @@ Java-based libraries.</li>
time <abbr>API</abbr> for .NET</a>
is like Joda-Time and Time4J, but for the .NET framework instead of Java.
It is freely available under the Apache License.</li>
-<li><a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a>-based
-compilers and libraries include:
+<li>Many modern
+<a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a>
+runtimes support <code><abbr>tz</abbr></code> natively via the
+<samp>timeZone</samp> option of <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat"><samp>Intl.DateTimeFormat</samp></a>.
+On other runtimes, you can use one of the following.
<ul>
+<li>The <a
+href="https://github.com/formatjs/date-time-format-timezone"><samp>Intl.DateTimeFormat</samp>
+timezone polyfill</a>
+is freely available under a <abbr>BSD</abbr>-style license.</li>
<li><a
href="https://github.com/kshetline/compact-time-zone-generator">CompactTimeZoneGenerator</a>
compiles time zone data into a compact form designed for
@@ -478,6 +485,9 @@ the <abbr>MIT</abbr> license and the Apache License.</li>
plugin for the <a href="https://momentjs.com">Moment.js</a> date
manipulation library. It is freely available under the <abbr>MIT</abbr>
license.</li>
+<li><a href="https://github.com/bigeasy/timezone">Timezone</a> is a
+JavaScript library that supports date arithmetic that is time zone
+aware. It is freely available under the <abbr>MIT</abbr> license.</li>
<li><a href="https://github.com/mde/timezone-js">TimezoneJS.Date</a>'s
<abbr>API</abbr> is upward compatible with standard JavaScript
Dates. It is freely available under the Apache License.</li>
@@ -555,9 +565,6 @@ title="PHP: Hypertext Preprocessor">PHP</abbr></a>,
<a href="https://hhvm.com"><abbr title="HipHop Virtual Machine">HHVM</abbr></a>,
and <a href="https://www.mongodb.com">MongoDB</a>.
It is freely available under the <abbr>MIT</abbr> license.</li>
-<li><a href="https://github.com/bigeasy/timezone">Timezone</a> is a
-JavaScript library that supports date arithmetic that is time zone
-aware. It is freely available under the <abbr>MIT</abbr> license.</li>
<li>Tcl, mentioned <a href="#Tcl">above</a>, also contains a
<abbr>TZif</abbr> file reader.</li>
<li><a href="https://metacpan.org/pod/DateTime::TimeZone::Tzfile">
--
1.8.3.1

View File

@ -1,44 +0,0 @@
From b43b6b46b24f5ab866fa45b993851baa9ade2fc5 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 1 May 2020 11:36:38 -0700
Subject: [PATCH 03/47] =?UTF-8?q?Mention=20TimeZoneDB=E2=80=99s=20CSV=20an?=
=?UTF-8?q?d=20SQL=20files.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* tz-link.html: Mention TimeZoneDBs downloads as well as their API.
Inspired by a suggestion from Sergio Bonfiglio.
---
tz-link.html | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/tz-link.html b/tz-link.html
index 1f893f6..cd51b71 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -307,6 +307,12 @@ time and zones.</li>
<a href="https://timezoneconverterapp.com">Time Zone Converter</a> and
<a href="https://www.worldclock.com">The World Clock</a>
are time zone converters.</li>
+<li><a href="https://timezonedb.com/download">TimeZoneDB Database</a>
+publishes <code><abbr>tzdb</abbr></code>-derived data in
+<a href="https://en.wikipedia.org/wiki/Comma-separated_values"><abbr
+title="comma-separated values">CSV</abbr></a> and
+in <a href="https://en.wikipedia.org/wiki/SQL"><abbr
+title="Structured Query Language">SQL</abbr></a> form.</li>
<li><a
href="https://twiki.org/cgi-bin/xtra/tzdatepick.html">Date and Time Gateway</a>
lets you see the <code><abbr>TZ</abbr></code> values directly.</li>
@@ -740,7 +746,7 @@ href="https://www.geonames.org/export/web-services.html#timezone">GeoNames
Timezone web service</a>, the <a
href="https://developers.google.com/maps/documentation/timezone/intro">Google
Maps Time Zone API</a>, and
-the <a href="https://timezonedb.com">Time Zone Database &amp; API</a>.
+the <a href="https://timezonedb.com/api">TimeZoneDB API</a>.
Commercial network API access is provided
by <a href="https://askgeo.com">AskGeo</a>
and <a href="https://www.geogarage.com/blog/news-1/post/geogarage-time-zone-api-31">GeoGarage</a>.
--
1.8.3.1

View File

@ -1,261 +0,0 @@
From 6e2e87703135d4923e9d65b4d75086341564401f Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sat, 8 Aug 2020 11:08:24 -0700
Subject: [PATCH 23/47] Minor editorial improvements for newstrftime.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* newstrftime.3: Improve this a bit to have it match POSIX better.
Resurrect the BSD manuals phase-of-the-moon joke.
---
newstrftime.3 | 103 +++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 66 insertions(+), 37 deletions(-)
diff --git a/newstrftime.3 b/newstrftime.3
index df38d1a..63842c7 100644
--- a/newstrftime.3
+++ b/newstrftime.3
@@ -50,12 +50,14 @@ strftime \- format date and time
.B cc ... \-ltz
.fi
.SH DESCRIPTION
-.ie '\(en'' .ds en \-
-.el .ds en \(en
.ie '\(lq'' .ds lq \&"\"
.el .ds lq \(lq\"
.ie '\(rq'' .ds rq \&"\"
.el .ds rq \(rq\"
+.de c
+.ie \n(.g \f(CW\\$1\fP\\$2
+.el \\$1\\$2
+..
.de q
\\$3\*(lq\\$1\*(rq\\$2
..
@@ -63,7 +65,7 @@ The
.B strftime
function formats the information from
.I timeptr
-into the buffer
+into the array pointed to by
.I buf
according to the string pointed to by
.IR format .
@@ -72,24 +74,24 @@ The
.I format
string consists of zero or more conversion specifications and
ordinary characters.
-All ordinary characters are copied directly into the buffer.
+All ordinary characters are copied directly into the array.
A conversion specification consists of a percent sign
.Ql %
and one other character.
.PP
No more than
.I maxsize
-characters are placed into the array.
-If the total number of resulting characters, including the terminating
-null character, is not more than
+bytes are placed into the array.
+If the total number of resulting bytes, including the terminating
+NUL character, is not more than
.IR maxsize ,
.B strftime
-returns the number of characters in the array, not counting the
-terminating null.
-Otherwise, zero is returned.
+returns the number of bytes placed into the array, not counting the
+terminating NUL.
+Otherwise, zero is returned and the array contents are unspecified.
.PP
Each conversion specification is replaced by the characters as
-follows which are then copied into the buffer.
+follows which are then copied into the array.
.TP
%A
is replaced by the locale's full weekday name.
@@ -105,99 +107,122 @@ is replaced by the locale's abbreviated month name.
.TP
%C
is replaced by the century (a year divided by 100 and truncated to an integer)
-as a decimal number (00\*(en99).
+as a decimal number [00,99].
.TP
%c
is replaced by the locale's appropriate date and time representation.
.TP
%D
-is replaced by the date in the format %m/%d/%y.
+is equivalent to
+.c %m/%d/%y .
.TP
%d
-is replaced by the day of the month as a decimal number (01\*(en31).
+is replaced by the day of the month as a decimal number [01,31].
.TP
%e
-is replaced by the day of month as a decimal number (1\*(en31);
+is replaced by the day of month as a decimal number [1,31];
single digits are preceded by a blank.
.TP
%F
-is replaced by the date in the format %Y\*-%m\*-%d.
+is equivalent to
+.c %Y-%m-%d
+(the ISO 8601 date format).
.TP
%G
is replaced by the ISO 8601 year with century as a decimal number.
+See also the
+.c %V
+conversion specification.
.TP
%g
-is replaced by the ISO 8601 year without century as a decimal number (00\*(en99).
+is replaced by the ISO 8601 year without century as a decimal number [00,99].
+This is the year that includes the greater part of the week.
+(Monday as the first day of a week).
+See also the
+.c %V
+conversion specification.
.TP
%H
-is replaced by the hour (24-hour clock) as a decimal number (00\*(en23).
+is replaced by the hour (24-hour clock) as a decimal number [00,23].
.TP
%I
-is replaced by the hour (12-hour clock) as a decimal number (01\*(en12).
+is replaced by the hour (12-hour clock) as a decimal number [01,12].
.TP
%j
-is replaced by the day of the year as a decimal number (001\*(en366).
+is replaced by the day of the year as a decimal number [001,366].
.TP
%k
-is replaced by the hour (24-hour clock) as a decimal number (0\*(en23);
+is replaced by the hour (24-hour clock) as a decimal number [0,23];
single digits are preceded by a blank.
.TP
%l
-is replaced by the hour (12-hour clock) as a decimal number (1\*(en12);
+is replaced by the hour (12-hour clock) as a decimal number [1,12];
single digits are preceded by a blank.
.TP
%M
-is replaced by the minute as a decimal number (00\*(en59).
+is replaced by the minute as a decimal number [00,59].
.TP
%m
-is replaced by the month as a decimal number (01\*(en12).
+is replaced by the month as a decimal number [01,12].
.TP
%n
is replaced by a newline.
.TP
%p
-is replaced by the locale's equivalent of either AM or PM.
+is replaced by the locale's equivalent of either
+.q AM
+or
+.q PM .
.TP
%R
-is replaced by the time in the format %H:%M.
+is replaced by the time in the format
+.c %H:%M .
.TP
%r
is replaced by the locale's representation of 12-hour clock time
using AM/PM notation.
.TP
%S
-is replaced by the second as a decimal number (00\*(en60).
+is replaced by the second as a decimal number [00,60].
+The range of
+seconds is [00,60] instead of [00,59] to allow for the periodic occurrence
+of leap seconds.
.TP
%s
-is replaced by the number of seconds since the Epoch (see newctime(3)).
+is replaced by the number of seconds since the Epoch (see
+.BR ctime (3)).
.TP
%T
-is replaced by the time in the format %H:%M:%S.
+is replaced by the time in the format
+.c %H:%M:%S .
.TP
%t
is replaced by a tab.
.TP
%U
is replaced by the week number of the year (Sunday as the first day of
-the week) as a decimal number (00\*(en53).
+the week) as a decimal number [00,53].
.TP
%u
is replaced by the weekday (Monday as the first day of the week)
-as a decimal number (1\*(en7).
+as a decimal number [1,7].
.TP
%V
is replaced by the week number of the year (Monday as the first day of
-the week) as a decimal number (01\*(en53). If the week containing January
+the week) as a decimal number [01,53]. If the week containing January
1 has four or more days in the new year, then it is week 1; otherwise
it is week 53 of the previous year, and the next week is week 1.
+The year is given by the
+.c %G
+conversion specification.
.TP
%W
is replaced by the week number of the year (Monday as the first day of
-the week) as a decimal number (00\*(en53).
+the week) as a decimal number [00,53].
.TP
%w
is replaced by the weekday (Sunday as the first day of the week)
-as a decimal number (0\*(en6).
+as a decimal number [0,6].
.TP
%X
is replaced by the locale's appropriate time representation.
@@ -209,7 +234,7 @@ is replaced by the locale's appropriate date representation.
is replaced by the year with century as a decimal number.
.TP
%y
-is replaced by the year without century as a decimal number (00\*(en99).
+is replaced by the year without century as a decimal number [00,99].
.TP
%Z
is replaced by the time zone abbreviation,
@@ -217,7 +242,7 @@ or by the empty string if this is not determinable.
.TP
%z
is replaced by the offset from the Prime Meridian
-in the format +HHMM or \*-HHMM as appropriate,
+in the format +HHMM or \*-HHMM (ISO 8601) as appropriate,
with positive values representing locations east of Greenwich,
or by the empty string if this is not determinable.
The numeric time zone abbreviation \*-0000 is used when the time is
@@ -231,7 +256,9 @@ time zone abbreviation begins with
is replaced by a single %.
.TP
%+
-is replaced by the date and time in date(1) format.
+is replaced by the locale's date and time in
+.BR date (1)
+format.
.SH SEE ALSO
date(1),
getenv(3),
@@ -239,3 +266,5 @@ newctime(3),
newtzset(3),
time(2),
tzfile(5)
+.SH BUGS
+There is no conversion specification for the phase of the moon.
--
1.8.3.1

View File

@ -1,97 +0,0 @@
From b980f1cac5121f702eb6b0cc679d960e8a275a3f Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Sat, 5 Dec 2020 13:39:09 -0500
Subject: [PATCH] Model Turks & Caicos time 2015-2018 as AST
(Thanks to P Chan.)
* NEWS: Mention this.
* northamerica (America/Grand_Turk): Model the year-round observance of
-04 in the Turks & Caicos Islands as AST from 2015-03 through 2018-03,
to better match the legislation. This only affects the abbreviation and
DST flag 2015-03-08/11-01. Expand commentary on slight discrepancy with
the 2018-03-11 return to Eastern Time with US rules.
---
NEWS | 7 +++++++
northamerica | 31 +++++++++++++++++++++++++++----
2 files changed, 34 insertions(+), 4 deletions(-)
diff --git a/NEWS b/NEWS
index 2182c70..0937d8a 100644
--- a/NEWS
+++ b/NEWS
@@ -27,6 +27,13 @@ Unreleased, experimental changes
Australia/Currie has been moved to the 'backward' file and its
corrected data moved to the 'backzone' file.
+ Changes to past time zone abbreviations and DST flags
+
+ To better match legislation in Turks and Caicos, the 2015 shift to
+ year-round observance of -04 is now modeled as AST throughout before
+ returning to Eastern Time with US DST in 2018, rather than as
+ maintaining EDT until 2015-11-01. (Thanks to P Chan.)
+
Release 2020d - 2020-10-21 11:24:13 -0700
diff --git a/northamerica b/northamerica
index d8bb8f8..ddc5759 100644
--- a/northamerica
+++ b/northamerica
@@ -3727,7 +3727,7 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
# "Eastern Standard Times Begins 2007
# Clocks are set back one hour at 2:00 a.m. local Daylight Saving Time"
# indicating that the normal ET rules are followed.
-#
+
# From Paul Eggert (2014-08-19):
# The 2014-08-13 Cabinet meeting decided to stay on UT -04 year-round. See:
# http://tcweeklynews.com/daylight-savings-time-to-be-maintained-p5353-127.htm
@@ -3742,19 +3742,42 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
# during the summer months and Standard Time, also known as Local
# Time, during the winter months with effect from April 2018 ...
# https://www.gov.uk/government/news/turks-and-caicos-post-cabinet-meeting-statement--3
-#
# From Paul Eggert (2017-08-26):
# The date of effect of the spring 2018 change appears to be March 11,
# which makes more sense. See: Hamilton D. Time change back
# by March 2018 for TCI. Magnetic Media. 2017-08-25.
# http://magneticmediatv.com/2017/08/time-change-back-by-march-2018-for-tci/
#
+# From P Chan (2020-11-27):
+# Standard Time Declaration Order 2015 (L.N. 15/2015)
+# http://online.fliphtml5.com/fizd/czin/#p=2
+#
+# Standard Time Declaration Order 2017 (L.N. 31/2017)
+# http://online.fliphtml5.com/fizd/dmcu/#p=2
+#
+# From Tim Parenti (2020-12-05):
+# Although L.N. 31/2017 reads that it "shall come into operation at 2:00 a.m.
+# on 11th March 2018", a precise interpretation here poses some problems. The
+# order states that "the standard time to be observed throughout the Turks and
+# Caicos Islands shall be the same time zone as the Eastern United States of
+# America" and further clarifies "[f]or the avoidance of doubt" that it
+# "applies to the Eastern Standard Time as well as any changes thereto for
+# Daylight Saving Time." However, as clocks in Turks and Caicos approached
+# 02:00 -04, and thus the declared implementation time, it was still 01:00 EST
+# (-05), as DST in the Eastern US would not start until an hour later.
+#
+# Since it is unlikely that those on the islands switched their clocks twice in
+# the span of an hour, we assume instead that the adoption of EDT actually took
+# effect once clocks in the Eastern US had sprung forward, from 03:00 -04.
+# This discrepancy only affects the time zone abbreviation and DST flag for the
+# intervening hour, not wall clock times, as -04 was maintained throughout.
+
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Grand_Turk -4:44:32 - LMT 1890
-5:07:10 - KMT 1912 Feb # Kingston Mean Time
-5:00 - EST 1979
- -5:00 US E%sT 2015 Nov Sun>=1 2:00
- -4:00 - AST 2018 Mar 11 3:00
+ -5:00 US E%sT 2015 Mar 8 2:00
+ -4:00 - AST 2018 Mar 11 3:00
-5:00 US E%sT
# British Virgin Is
--
1.8.3.1

View File

@ -1,60 +0,0 @@
From c6c18a432298874f2fdd4ad90df90d615f5846fa Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 1 May 2020 13:24:51 -0700
Subject: [PATCH 04/47] More Ruthenia replacement
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This follows up on an earlier patch in March, which replaced
“Ruthenia” with “Transcarpathia” but missed a couple of instances.
* europe: Ruthenia→Transcarpathia in commentary here, too.
* theory.html: Switch to Europe/Prague as a more easily-understood
example.
---
europe | 2 +-
theory.html | 10 ++++------
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/europe b/europe
index 5593c60..91949d6 100644
--- a/europe
+++ b/europe
@@ -3983,7 +3983,7 @@ Zone Europe/Kiev 2:02:04 - LMT 1880
2:00 1:00 EEST 1991 Sep 29 3:00
2:00 E-Eur EE%sT 1995
2:00 EU EE%sT
-# Ruthenia used CET 1990/1991.
+# Transcarpathia used CET 1990/1991.
# "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but
# "Uzhgorod" is more common in English.
Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct
diff --git a/theory.html b/theory.html
index c0e6f02..ffa3b4d 100644
--- a/theory.html
+++ b/theory.html
@@ -115,17 +115,15 @@ Each timezone has a name that uniquely identifies the timezone.
Inexperienced users are not expected to select these names unaided.
Distributors should provide documentation and/or a simple selection
interface that explains each name via a map or via descriptive text like
-"Ruthenia" instead of the timezone name "<code>Europe/Uzhgorod</code>".
+"Czech Republic" instead of the timezone name "<code>Europe/Prague</code>".
If geolocation information is available, a selection interface can
locate the user on a timezone map or prioritize names that are
geographically close. For an example selection interface, see the
<code>tzselect</code> program in the <code><abbr>tz</abbr></code> code.
-The <a href="http://cldr.unicode.org/">Unicode Common Locale Data
+The <a href="http://cldr.unicode.org">Unicode Common Locale Data
Repository</a> contains data that may be useful for other selection
-interfaces; it maps timezone names like <code>Europe/Uzhgorod</code>
-to CLDR names like <code>uauzh</code> which are in turn mapped to
-locale-dependent strings like "Uzhhorod", "Ungvár", "Ужгород", and
-"乌日哥罗德".
+interfaces; it maps timezone names like <code>Europe/Prague</code> to
+locale-dependent strings like "Prague", "Praha", "Прага", and "布拉格".
</p>
<p>
--
1.8.3.1

View File

@ -1,36 +0,0 @@
From 64308c00590a8d157e099012a6b91ab1f7f8485b Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Tue, 6 Oct 2020 21:20:30 -0400
Subject: [PATCH 45/47] * NEWS: Fix Antarctic seasons, Casey change is past
---
NEWS | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/NEWS b/NEWS
index 43ab343..419bd5c 100644
--- a/NEWS
+++ b/NEWS
@@ -6,7 +6,7 @@ Unreleased, experimental changes
Revised predictions for Morocco's changes starting in 2023.
Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.
Macquarie Island has stayed in sync with Tasmania since 2011.
- Casey, Antarctica is at +08 in summer and +11 in winter.
+ Casey, Antarctica is at +08 in winter and +11 in summer.
zic no longer supports -y, nor the TYPE field of Rules.
Changes to future timestamps
@@ -18,8 +18,8 @@ Unreleased, experimental changes
Changes to past and future timestamps
- Casey Station, Antarctica has been using +08 in summer and +11 in
- winter since 2018. The next transition is from +08 to +11 on
+ Casey Station, Antarctica has been using +08 in winter and +11 in
+ summer since 2018. The most recent transition from +08 to +11 was
2020-10-04 00:01. Also, Macquarie Island has been staying in
sync with Tasmania since 2011. (Thanks to Steffen Thorsen.)
--
1.8.3.1

View File

@ -1,25 +0,0 @@
From 81224935459b3abaf9d24e588da7882bd6d6007d Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 11 Jun 2020 20:32:19 -0700
Subject: [PATCH 12/47] * NEWS: Fix recent date typo.
---
NEWS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 84c87ee..ec73943 100644
--- a/NEWS
+++ b/NEWS
@@ -21,7 +21,7 @@ Unreleased, experimental changes
stopped at 00:00 for 9 minutes, 21 seconds but this cannot be
represented in tzdb, so tzdb instead represents the also-common
practice of keeping an old clock running until the new clock
- started up. Similarly for the 1895-03-16 transition.
+ started up. Similarly for the 1891-03-16 transition.
(Thanks to Michael Deckers.)
Changes to code
--
1.8.3.1

View File

@ -1,25 +0,0 @@
From dd606383a7f4c865a1743d6f8ad51c64d9dd479c Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 24 Sep 2020 19:28:46 -0700
Subject: [PATCH 37/47] * NEWS: Fix typo (thanks to Philip Paeps).
---
NEWS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 517d1c8..df81d55 100644
--- a/NEWS
+++ b/NEWS
@@ -3,7 +3,7 @@ News for the tz database
Unreleased, experimental changes
Briefly:
- Revised predictions for Morocco's changes starting in 20203.
+ Revised predictions for Morocco's changes starting in 2023.
Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.
Changes to future timestamps
--
1.8.3.1

View File

@ -1,38 +0,0 @@
From b04741d80fa8e4a95ca2fd824e5fda45f4887748 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 9 Jul 2020 12:59:05 -0700
Subject: [PATCH 19/47] No leap second on 2020-12-31
* leap-seconds.list: Update file from NIST, retrieved from
ftp://ftp.nist.gov/pub/time/leap-seconds.list in ASCII mode.
---
leap-seconds.list | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/leap-seconds.list b/leap-seconds.list
index ac153da..e897a86 100644
--- a/leap-seconds.list
+++ b/leap-seconds.list
@@ -204,10 +204,10 @@
# current -- the update time stamp, the data and the name of the file
# will not change.
#
-# Updated through IERS Bulletin C59
-# File expires on: 28 December 2020
+# Updated through IERS Bulletin C60
+# File expires on: 28 June 2021
#
-#@ 3818102400
+#@ 3833827200
#
2272060800 10 # 1 Jan 1972
2287785600 11 # 1 Jul 1972
@@ -252,4 +252,4 @@
# the hash line is also ignored in the
# computation.
#
-#h a1c168ae 27c79a7d 9dddcfc3 bcfe616b 2e2c44ea
+#h 064356a8 39268b92 76e4d5ef 3e22fae1 0cca529c
--
1.8.3.1

View File

@ -1,41 +0,0 @@
From 500141665b78279e47f614dc1acfd77b845a4578 Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Sat, 9 Jan 2021 13:59:02 -0500
Subject: [PATCH] No leap second on 2021-06-30
Per IERS Bulletin C 61 (2021-01-07).
https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.61
* leap-seconds.list: Update file from NIST, retrieved from
ftp://ftp.nist.gov/pub/time/leap-seconds.list
---
leap-seconds.list | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/leap-seconds.list b/leap-seconds.list
index e897a86..3198d65 100644
--- a/leap-seconds.list
+++ b/leap-seconds.list
@@ -204,10 +204,10 @@
# current -- the update time stamp, the data and the name of the file
# will not change.
#
-# Updated through IERS Bulletin C60
-# File expires on: 28 June 2021
+# Updated through IERS Bulletin C61
+# File expires on: 28 December 2021
#
-#@ 3833827200
+#@ 3849638400
#
2272060800 10 # 1 Jan 1972
2287785600 11 # 1 Jul 1972
@@ -252,4 +252,4 @@
# the hash line is also ignored in the
# computation.
#
-#h 064356a8 39268b92 76e4d5ef 3e22fae1 0cca529c
+#h 2ab8253d d4380d28 75f01343 381504f8 8f8a4bfc
--
1.8.3.1

View File

@ -1,98 +0,0 @@
From efd0231aa7a68ec431ce99251d2496a0eed624ec Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Tue, 20 Oct 2020 10:53:09 -0400
Subject: [PATCH] Palestine ends DST on 2020-10-24
(Thanks to Sharef Mustafa.)
* asia (Palestine): Assume future fall transitions will be on the
Saturday preceding October's last Sunday at 01:00, with the recent
exception of the 2019-10-26 fall-back, which was at 00:00.
(Thanks to Steffen Thorsen.)
* NEWS: Mention this.
---
NEWS | 18 ++++++++++++++++++
asia | 28 ++++++++++++++++++++++++----
2 files changed, 42 insertions(+), 4 deletions(-)
diff --git a/NEWS b/NEWS
index 25cf8cb..4d653dc 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,23 @@
News for the tz database
+Unreleased, experimental changes
+
+ Briefly:
+ Palestine ends DST earlier than predicted, on 2020-10-24.
+
+ Changes to future timestamps
+
+ Palestine ends DST on 2020-10-24 at 01:00, instead of 2020-10-31 as
+ previously predicted. (Thanks to Sharef Mustafa.) This affects
+ Asia/Gaza and Asia/Hebron. Assume future fall transitions will be
+ on the Saturday preceding October's last Sunday.
+
+ Changes to past timestamps
+
+ Palestine's 2019-10-26 fall-back was at 00:00, not 01:00. (Thanks
+ to Steffen Thorsen.)
+
+
Release 2020c - 2020-10-16 11:15:53 -0700
Briefly:
diff --git a/asia b/asia
index e4d84e9..1c2d3eb 100644
--- a/asia
+++ b/asia
@@ -3221,13 +3221,31 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# From Sharef Mustafa (2019-10-18):
# Palestine summer time will end on midnight Oct 26th 2019 ...
-# http://www.palestinecabinet.gov.ps/website/ar/ViewDetails?ID=43948
#
+# From Steffen Thorsen (2020-10-20):
+# Some sources such as these say, and display on clocks, that DST ended at
+# midnight last year...
+# https://www.amad.ps/ar/post/320006
+#
+# From Tim Parenti (2020-10-20):
+# The report of the Palestinian Cabinet meeting of 2019-10-14 confirms
+# a decision on (translated): "The start of the winter time in Palestine, by
+# delaying the clock by sixty minutes, starting from midnight on Friday /
+# Saturday corresponding to 26/10/2019."
+# http://www.palestinecabinet.gov.ps/portal/meeting/details/43948
+
+# From Sharef Mustafa (2020-10-20):
+# As per the palestinian cabinet announcement yesterday , the day light saving
+# shall [end] on Oct 24th 2020 at 01:00AM by delaying the clock by 60 minutes.
+# http://www.palestinecabinet.gov.ps/portal/Meeting/Details/51584
+
# From Paul Eggert (2019-04-10):
# For now, guess spring-ahead transitions are March's last Friday at 00:00.
#
-# From Tim Parenti (2016-10-19):
-# Predict fall transitions on October's last Saturday at 01:00 from now on.
+# From Tim Parenti (2020-10-20):
+# Predict future fall transitions at 01:00 on the Saturday preceding October's
+# last Sunday (i.e., Sat>=24). This is consistent with our predictions since
+# 2016, although the time of the change differed slightly in 2019.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
@@ -3259,8 +3277,10 @@ Rule Palestine 2013 only - Sep Fri>=21 0:00 0 -
Rule Palestine 2014 2015 - Oct Fri>=21 0:00 0 -
Rule Palestine 2015 only - Mar lastFri 24:00 1:00 S
Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S
-Rule Palestine 2016 max - Oct lastSat 1:00 0 -
+Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 -
Rule Palestine 2019 max - Mar lastFri 0:00 1:00 S
+Rule Palestine 2019 only - Oct Sat>=24 0:00 0 -
+Rule Palestine 2020 max - Oct Sat>=24 1:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
--
1.8.3.1

View File

@ -1,41 +0,0 @@
From b231fbdb5c13ab402519c9bc21d19b45708d1bae Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 27 Oct 2020 13:57:43 -0700
Subject: [PATCH] Port 'make rearguard_tarballs' to Solaris 10
* Makefile (tarballs, etc.): Export AWK to submake, for Solaris 10
which needs something like 'make AWK=nawk rearguard_tarballs'.
(.KEEP_STATE): Remove. .KEEP_STATE is a Solaris 'make' feature
that breaks 'make rearguard_tarballs' because it causes submakes
to mistakenly consider files to be out-of-date. As .KEEP_STATE
is not specified by POSIX and is ignored by GNU 'make' it should
not be needed.
---
Makefile | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index a0b6aeb..5064a19 100644
--- a/Makefile
+++ b/Makefile
@@ -1012,7 +1012,7 @@ tarballs rearguard_tarballs traditional_tarballs \
signatures rearguard_signatures traditional_signatures: \
version set-timestamps.out rearguard.zi
VERSION=`cat version` && \
- $(MAKE) VERSION="$$VERSION" $@_version
+ $(MAKE) AWK='$(AWK)' VERSION="$$VERSION" $@_version
# These *_version rules are intended for use if VERSION is set by some
# other means. Ordinarily these rules are used only by the above
@@ -1110,8 +1110,6 @@ strftime.o: private.h tzfile.h
zdump.o: version.h
zic.o: private.h tzfile.h version.h
-.KEEP_STATE:
-
.PHONY: ALL INSTALL all
.PHONY: check check_time_t_alternatives
.PHONY: check_web check_zishrink
--
1.8.3.1

View File

@ -1,35 +0,0 @@
From ce89cbaa436f336dca4b239fa528405abd7d84b7 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 16 Oct 2020 19:52:24 -0700
Subject: [PATCH] =?UTF-8?q?Port=20=E2=80=98make=20rearguard=5Ftarballs?=
=?UTF-8?q?=E2=80=99=20to=20macOS?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Problem reported by Deborah Goldsmith in:
https://mm.icann.org/pipermail/tz/2020-October/029355.html
* Makefile (tzdata$(VERSION)-rearguard.tar.gz):
Use TZ=UTC0 touch -t 202010122253.00 instead of touch -md
2020-10-12T22:53:00Z, as touch -d was added to POSIX in 2008
and macOS is still behind the times.
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 95f0a06..40b81d1 100644
--- a/Makefile
+++ b/Makefile
@@ -1023,7 +1023,7 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out
sed '1s/$$/-rearguard/' \
<version >tzdata$(VERSION)-rearguard.dir/version
: The dummy pacificnew pacifies TZUpdater 2.3.1 and earlier.
- touch -md 2020-10-12T22:53:00Z \
+ TZ=UTC0 touch -mt 202010122253.00 \
tzdata$(VERSION)-rearguard.dir/pacificnew
touch -cmr version tzdata$(VERSION)-rearguard.dir/version
LC_ALL=C && export LC_ALL && \
--
1.8.3.1

View File

@ -1,112 +0,0 @@
From e4645c40a0a967149a5161ca2959f8c7e9027a79 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 22 Oct 2020 12:35:30 -0700
Subject: [PATCH 1/6] =?UTF-8?q?Port=20to=20downstream=20HP-UX-style=20?=
=?UTF-8?q?=E2=80=98make=E2=80=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
HP-UX make considers a target to be out-of-date if its timestamp
equals that of a dependency, and POSIX allows this make behavior.
So, when putting timestamps on files in tarballs, add 1 to a
files timestamp if it depends on some other file with the same
timestamp. That way, when someone unpackages a tarball on an
HP-UX host, its make will avoid rebuilding files like version
that are up-to-date in the tarball.
* Makefile (SET_TIMESTAMP_N, SET_TIMESTAMP, SET_TIMESTAMP_DEP):
New macros.
(set-timestamps.out, set-tzs-timestamp.out)
(tzdata$(VERSION)-rearguard.tar.gz, tzdb-$(VERSION).tar.lz):
Use them instead of invoking touch by hand.
(set-timestamps.out): Set the timestamp of tzdata.zi after that
of version, since the former depends on the latter.
---
Makefile | 43 +++++++++++++++++++++++++++++++++----------
1 file changed, 33 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile
index 40b81d1..3b9d59e 100644
--- a/Makefile
+++ b/Makefile
@@ -872,11 +872,34 @@ $(MANTXTS): workman.sh
LC_ALL=C sh workman.sh `expr $@ : '\(.*\)\.txt$$'` >$@.out
mv $@.out $@
+# Set file timestamps deterministically if possible,
+# so that tarballs containing the timestamps are reproducible.
+#
+# '$(SET_TIMESTAMP_N) N DEST A B C ...' sets the timestamp of the
+# file DEST to the maximum of the timestamps of the files A B C ...,
+# plus N if GNU ls and touch are available.
+SET_TIMESTAMP_N = sh -c '\
+ n=$$0 dest=$$1; shift; \
+ touch -cmr `ls -t "$$@" | sed 1q` "$$dest" && \
+ if test $$n != 0 && \
+ lsout=`ls -n --time-style="+%s" "$$dest" 2>/dev/null`; then \
+ set x $$lsout && \
+ touch -cmd @`expr $$7 + $$n` "$$dest"; \
+ else :; fi'
+# If DEST depends on A B C ... in this Makefile, callers should use
+# $(SET_TIMESTAMP_DEP) DEST A B C ..., for the benefit of any
+# downstream 'make' that considers equal timestamps to be out of date.
+# POSIX allows this 'make' behavior, and HP-UX 'make' does it.
+# If all that matters is that the timestamp be reproducible
+# and plausible, use $(SET_TIMESTAMP).
+SET_TIMESTAMP = $(SET_TIMESTAMP_N) 0
+SET_TIMESTAMP_DEP = $(SET_TIMESTAMP_N) 1
+
# Set the timestamps to those of the git repository, if available,
# and if the files have not changed since then.
-# This uses GNU 'touch' syntax 'touch -d@N FILE',
-# where N is the number of seconds since 1970.
-# If git or GNU 'touch' is absent, don't bother to sync with git timestamps.
+# This uses GNU 'ls --time-style=+%s', which outputs the seconds count,
+# and GNU 'touch -d@N FILE', where N is the number of seconds since 1970.
+# If git or GNU is absent, don't bother to sync with git timestamps.
# Also, set the timestamp of each prebuilt file like 'leapseconds'
# to be the maximum of the files it depends on.
set-timestamps.out: $(EIGHT_YARDS)
@@ -894,16 +917,16 @@ set-timestamps.out: $(EIGHT_YARDS)
fi || exit; \
done; \
fi
- touch -cmr `ls -t $(LEAP_DEPS) | sed 1q` leapseconds
+ $(SET_TIMESTAMP_DEP) leapseconds $(LEAP_DEPS)
for file in `ls $(MANTXTS) | sed 's/\.txt$$//'`; do \
- touch -cmr `ls -t $$file workman.sh | sed 1q` $$file.txt || \
+ $(SET_TIMESTAMP_DEP) $$file.txt $$file workman.sh || \
exit; \
done
- touch -cmr `ls -t $(TZDATA_ZI_DEPS) | sed 1q` tzdata.zi
- touch -cmr `ls -t $(VERSION_DEPS) | sed 1q` version
+ $(SET_TIMESTAMP_DEP) version $(VERSION_DEPS)
+ $(SET_TIMESTAMP_DEP) tzdata.zi $(TZDATA_ZI_DEPS)
touch $@
set-tzs-timestamp.out: $(TZS)
- touch -cmr `ls -t $(TZS_DEPS) | sed 1q` $(TZS)
+ $(SET_TIMESTAMP_DEP) $(TZS) $(TZS_DEPS)
touch $@
# The zics below ensure that each data file can stand on its own.
@@ -1018,7 +1041,7 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out
for f in $(TDATA) $(PACKRATDATA); do \
rearf=tzdata$(VERSION)-rearguard.dir/$$f; \
$(AWK) -v DATAFORM=rearguard -f ziguard.awk $$f >$$rearf && \
- touch -cmr `ls -t ziguard.awk $$f` $$rearf || exit; \
+ $(SET_TIMESTAMP_DEP) $$rearf ziguard.awk $$f || exit; \
done
sed '1s/$$/-rearguard/' \
<version >tzdata$(VERSION)-rearguard.dir/version
@@ -1037,7 +1060,7 @@ tzdb-$(VERSION).tar.lz: set-timestamps.out set-tzs-timestamp.out
rm -fr tzdb-$(VERSION)
mkdir tzdb-$(VERSION)
ln $(ENCHILADA) tzdb-$(VERSION)
- touch -cmr `ls -t tzdb-$(VERSION)/* | sed 1q` tzdb-$(VERSION)
+ $(SET_TIMESTAMP) tzdb-$(VERSION) tzdb-$(VERSION)/*
LC_ALL=C && export LC_ALL && \
tar $(TARFLAGS) -cf - tzdb-$(VERSION) | lzip -9 >$@.out
mv $@.out $@
--
1.8.3.1

View File

@ -1,167 +0,0 @@
From e30fe68d4448a79d8ac95bf6ae81bb344328eb3c Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 31 May 2020 15:17:11 -0700
Subject: [PATCH 06/47] Predict Morocco spring-forward after Eid al-Fitr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
(Thanks to Milamber.)
* NEWS: Mention this.
* africa (Morocco): Change 1+ to + 2 in the commented-out
code, and alter the prdicted rules accordingly for 2023-2085.
---
NEWS | 7 +++++++
africa | 45 +++++++++++++++++++++++++++++----------------
2 files changed, 36 insertions(+), 16 deletions(-)
diff --git a/NEWS b/NEWS
index ac491e1..8362dcc 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,13 @@ News for the tz database
Unreleased, experimental changes
+ Changes to future timestamps
+
+ Morocco's spring-forward after Ramadan is now predicted to occur
+ no sooner than two days after Ramadan, instead of one day.
+ (Thanks to Milamber.) The first altered prediction is for 2023,
+ now predicted to spring-forward on April 30 instead of April 23.
+
Changes to code
The undocumented and ineffective tzsetwall function has been
diff --git a/africa b/africa
index 724744f..5d3beb0 100644
--- a/africa
+++ b/africa
@@ -875,17 +875,30 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# https://maroc-diplomatique.net/maroc-le-retour-a-lheure-gmt-est-prevu-dimanche-prochain/
# http://aujourdhui.ma/actualite/gmt1-retour-a-lheure-normale-dimanche-prochain-1
#
-# From Paul Eggert (2020-04-14):
+# From Milamber (2020-05-31)
+# In Morocco (where I live), the end of Ramadan (Arabic month) is followed by
+# the Eid al-Fitr, and concretely it's 1 or 2 day offs for the people (with
+# traditional visiting of family, big lunches/dinners, etc.). So for this
+# year the astronomical calculations don't include the following 2 days off in
+# the calc. These 2 days fall in a Sunday/Monday, so it's not acceptable by
+# people to have a time shift during these 2 days off. Perhaps you can modify
+# the (predicted) rules for next years: if the end of Ramadan is a (probable)
+# Friday or Saturday (and so the 2 days off are on a weekend), the next time
+# shift will be the next weekend.
+#
+# From Paul Eggert (2020-05-31):
# For now, guess that in the future Morocco will fall back at 03:00
# the last Sunday before Ramadan, and spring forward at 02:00 the
-# first Sunday after the day after Ramadan. To implement this,
-# transition dates for 2021 through 2087 were determined by running
-# the following program under GNU Emacs 26.3.
-# (let ((islamic-year 1442))
+# first Sunday after two days after Ramadan. To implement this,
+# transition dates and times for 2019 through 2087 were determined by
+# running the following program under GNU Emacs 26.3. (This algorithm
+# also produces the correct transition dates for 2016 through 2018,
+# though the times differ due to Morocco's time zone change in 2018.)
+# (let ((islamic-year 1440))
# (require 'cal-islam)
# (while (< islamic-year 1511)
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
-# (b (1+ (calendar-islamic-to-absolute (list 10 1 islamic-year))))
+# (b (+ 2 (calendar-islamic-to-absolute (list 10 1 islamic-year))))
# (sunday 0))
# (while (/= sunday (mod (setq a (1- a)) 7)))
# (while (/= sunday (mod b 7))
@@ -951,7 +964,7 @@ Rule Morocco 2021 only - May 16 2:00 0 -
Rule Morocco 2022 only - Mar 27 3:00 -1:00 -
Rule Morocco 2022 only - May 8 2:00 0 -
Rule Morocco 2023 only - Mar 19 3:00 -1:00 -
-Rule Morocco 2023 only - Apr 23 2:00 0 -
+Rule Morocco 2023 only - Apr 30 2:00 0 -
Rule Morocco 2024 only - Mar 10 3:00 -1:00 -
Rule Morocco 2024 only - Apr 14 2:00 0 -
Rule Morocco 2025 only - Feb 23 3:00 -1:00 -
@@ -967,7 +980,7 @@ Rule Morocco 2029 only - Feb 18 2:00 0 -
Rule Morocco 2029 only - Dec 30 3:00 -1:00 -
Rule Morocco 2030 only - Feb 10 2:00 0 -
Rule Morocco 2030 only - Dec 22 3:00 -1:00 -
-Rule Morocco 2031 only - Jan 26 2:00 0 -
+Rule Morocco 2031 only - Feb 2 2:00 0 -
Rule Morocco 2031 only - Dec 14 3:00 -1:00 -
Rule Morocco 2032 only - Jan 18 2:00 0 -
Rule Morocco 2032 only - Nov 28 3:00 -1:00 -
@@ -983,7 +996,7 @@ Rule Morocco 2036 only - Nov 23 2:00 0 -
Rule Morocco 2037 only - Oct 4 3:00 -1:00 -
Rule Morocco 2037 only - Nov 15 2:00 0 -
Rule Morocco 2038 only - Sep 26 3:00 -1:00 -
-Rule Morocco 2038 only - Oct 31 2:00 0 -
+Rule Morocco 2038 only - Nov 7 2:00 0 -
Rule Morocco 2039 only - Sep 18 3:00 -1:00 -
Rule Morocco 2039 only - Oct 23 2:00 0 -
Rule Morocco 2040 only - Sep 2 3:00 -1:00 -
@@ -999,7 +1012,7 @@ Rule Morocco 2044 only - Aug 28 2:00 0 -
Rule Morocco 2045 only - Jul 9 3:00 -1:00 -
Rule Morocco 2045 only - Aug 20 2:00 0 -
Rule Morocco 2046 only - Jul 1 3:00 -1:00 -
-Rule Morocco 2046 only - Aug 5 2:00 0 -
+Rule Morocco 2046 only - Aug 12 2:00 0 -
Rule Morocco 2047 only - Jun 23 3:00 -1:00 -
Rule Morocco 2047 only - Jul 28 2:00 0 -
Rule Morocco 2048 only - Jun 7 3:00 -1:00 -
@@ -1015,7 +1028,7 @@ Rule Morocco 2052 only - Jun 2 2:00 0 -
Rule Morocco 2053 only - Apr 13 3:00 -1:00 -
Rule Morocco 2053 only - May 25 2:00 0 -
Rule Morocco 2054 only - Apr 5 3:00 -1:00 -
-Rule Morocco 2054 only - May 10 2:00 0 -
+Rule Morocco 2054 only - May 17 2:00 0 -
Rule Morocco 2055 only - Mar 28 3:00 -1:00 -
Rule Morocco 2055 only - May 2 2:00 0 -
Rule Morocco 2056 only - Mar 12 3:00 -1:00 -
@@ -1031,7 +1044,7 @@ Rule Morocco 2060 only - Mar 7 2:00 0 -
Rule Morocco 2061 only - Jan 16 3:00 -1:00 -
Rule Morocco 2061 only - Feb 27 2:00 0 -
Rule Morocco 2062 only - Jan 8 3:00 -1:00 -
-Rule Morocco 2062 only - Feb 12 2:00 0 -
+Rule Morocco 2062 only - Feb 19 2:00 0 -
Rule Morocco 2062 only - Dec 31 3:00 -1:00 -
Rule Morocco 2063 only - Feb 4 2:00 0 -
Rule Morocco 2063 only - Dec 16 3:00 -1:00 -
@@ -1047,7 +1060,7 @@ Rule Morocco 2067 only - Dec 11 2:00 0 -
Rule Morocco 2068 only - Oct 21 3:00 -1:00 -
Rule Morocco 2068 only - Dec 2 2:00 0 -
Rule Morocco 2069 only - Oct 13 3:00 -1:00 -
-Rule Morocco 2069 only - Nov 17 2:00 0 -
+Rule Morocco 2069 only - Nov 24 2:00 0 -
Rule Morocco 2070 only - Oct 5 3:00 -1:00 -
Rule Morocco 2070 only - Nov 9 2:00 0 -
Rule Morocco 2071 only - Sep 20 3:00 -1:00 -
@@ -1063,7 +1076,7 @@ Rule Morocco 2075 only - Sep 15 2:00 0 -
Rule Morocco 2076 only - Jul 26 3:00 -1:00 -
Rule Morocco 2076 only - Sep 6 2:00 0 -
Rule Morocco 2077 only - Jul 18 3:00 -1:00 -
-Rule Morocco 2077 only - Aug 22 2:00 0 -
+Rule Morocco 2077 only - Aug 29 2:00 0 -
Rule Morocco 2078 only - Jul 10 3:00 -1:00 -
Rule Morocco 2078 only - Aug 14 2:00 0 -
Rule Morocco 2079 only - Jun 25 3:00 -1:00 -
@@ -1073,13 +1086,13 @@ Rule Morocco 2080 only - Jul 21 2:00 0 -
Rule Morocco 2081 only - Jun 1 3:00 -1:00 -
Rule Morocco 2081 only - Jul 13 2:00 0 -
Rule Morocco 2082 only - May 24 3:00 -1:00 -
-Rule Morocco 2082 only - Jun 28 2:00 0 -
+Rule Morocco 2082 only - Jul 5 2:00 0 -
Rule Morocco 2083 only - May 16 3:00 -1:00 -
Rule Morocco 2083 only - Jun 20 2:00 0 -
Rule Morocco 2084 only - Apr 30 3:00 -1:00 -
Rule Morocco 2084 only - Jun 11 2:00 0 -
Rule Morocco 2085 only - Apr 22 3:00 -1:00 -
-Rule Morocco 2085 only - May 27 2:00 0 -
+Rule Morocco 2085 only - Jun 3 2:00 0 -
Rule Morocco 2086 only - Apr 14 3:00 -1:00 -
Rule Morocco 2086 only - May 19 2:00 0 -
Rule Morocco 2087 only - Mar 30 3:00 -1:00 -
--
1.8.3.1

View File

@ -1,62 +0,0 @@
From 0c8cac40a6ee69e106f3b034624890b98cad5b01 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 12 Oct 2020 16:15:27 -0700
Subject: [PATCH] Put dummy pacificnew into rearguard tarball
Problem reported by Mike Cullinan in:
https://mm.icann.org/pipermail/tz/2020-October/029309.html
* Makefile (tzdata$(VERSION)-rearguard.tar.gz):
Put an empty pacificnew file into the rearguard tarball.
* NEWS: Mention this.
---
Makefile | 6 +++++-
NEWS | 7 +++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 28972c6..95f0a06 100644
--- a/Makefile
+++ b/Makefile
@@ -1022,10 +1022,14 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out
done
sed '1s/$$/-rearguard/' \
<version >tzdata$(VERSION)-rearguard.dir/version
+ : The dummy pacificnew pacifies TZUpdater 2.3.1 and earlier.
+ touch -md 2020-10-12T22:53:00Z \
+ tzdata$(VERSION)-rearguard.dir/pacificnew
touch -cmr version tzdata$(VERSION)-rearguard.dir/version
LC_ALL=C && export LC_ALL && \
(cd tzdata$(VERSION)-rearguard.dir && \
- tar $(TARFLAGS) -cf - $(COMMON) $(DATA) $(MISC) | \
+ tar $(TARFLAGS) -cf - \
+ $(COMMON) $(DATA) $(MISC) pacificnew | \
gzip $(GZIPFLAGS)) >$@.out
mv $@.out $@
diff --git a/NEWS b/NEWS
index 298ad4d..87d68d9 100644
--- a/NEWS
+++ b/NEWS
@@ -6,12 +6,19 @@ Unreleased, experimental changes
Fiji starts DST later than usual, on 2020-12-20.
Changes to future timestamps
+
Fiji will start DST on 2020-12-20, instead of 2020-11-08 as
previously predicted. DST will still end on 2021-01-17.
(Thanks to Raymond Kumar and Alan Mintz.) Assume for now that
the later-than-usual start date is a one-time departure from the
recent pattern.
+ Changes to build procedure
+
+ Rearguard tarballs now contain an empty file pacificnew.
+ Some older downstream software expects this file to exist.
+ (Problem reported by Mike Cullinan.)
+
Release 2020b - 2020-10-06 18:35:04 -0700
--
1.8.3.1

View File

@ -1,25 +0,0 @@
From 243321439b4f47dbc6981c990fa6eb3b94a01e98 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 18 Aug 2020 20:47:17 -0700
Subject: [PATCH 27/47] * README: Add a pointer to tz-how-to.html.
---
README | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README b/README
index dd6fcf7..145aacd 100644
--- a/README
+++ b/README
@@ -20,6 +20,8 @@ substituting your desired installation directory for "$HOME/tzdir":
make TOPDIR=$HOME/tzdir install
$HOME/tzdir/usr/bin/zdump -v America/Los_Angeles
+See the file tz-how-to.html for examples of how to read the data files.
+
This database of historical local time information has several goals:
* Provide a compendium of data about the history of civil time that
--
1.8.3.1

View File

@ -1,27 +0,0 @@
From 0415d0e5f8266ff67dfd8204ee4fb1ad0ce1d5cf Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 1 Dec 2020 14:52:41 -0800
Subject: [PATCH] Re-fix Ghana typo for 1919/1920
* africa (Ghana): Re-fix the typo in previous change to these rules.
(Thanks to P Chan.)
---
africa | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/africa b/africa
index 85644f5..429f783 100644
--- a/africa
+++ b/africa
@@ -457,7 +457,7 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020
Rule Ghana 1920 1946 - Jan 1 2:00 0 GMT
-Rule Ghana 1921 1939 - Sep 1 2:00 0:20 +0020
+Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020
Rule Ghana 1940 1945 - May 1 2:00 0:20 +0020
Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030
Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT
--
1.8.3.1

View File

@ -1,25 +0,0 @@
From 47311d42a3ad6a8afa95d1f63fa8b6bb2710b16e Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 6 Oct 2020 18:35:04 -0700
Subject: [PATCH 46/47] Release 2020b
* NEWS: Increase version to 2020b.
---
NEWS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 419bd5c..c77f76d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
News for the tz database
-Unreleased, experimental changes
+Release 2020b - 2020-10-06 18:35:04 -0700
Briefly:
Revised predictions for Morocco's changes starting in 2023.
--
1.8.3.1

View File

@ -1,25 +0,0 @@
From ab21ad9710b88f28995b7ed47c6efda47ffb1be5 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 16 Oct 2020 11:15:53 -0700
Subject: [PATCH] Release 2020c
* NEWS: Increase version to 2020c.
---
NEWS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 87d68d9..25cf8cb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
News for the tz database
-Unreleased, experimental changes
+Release 2020c - 2020-10-16 11:15:53 -0700
Briefly:
Fiji starts DST later than usual, on 2020-12-20.
--
1.8.3.1

View File

@ -1,25 +0,0 @@
From 9c175ec6c48c9292a2ee1ed285e0f492a2d5a13a Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 21 Oct 2020 11:24:13 -0700
Subject: [PATCH] Release 2020d
* NEWS: Increase version to 2020d.
---
NEWS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 66a579d..328face 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
News for the tz database
-Unreleased, experimental changes
+Release 2020d - 2020-10-21 11:24:13 -0700
Briefly:
Palestine ends DST earlier than predicted, on 2020-10-24.
--
1.8.3.1

View File

@ -1,28 +0,0 @@
From efc5c061920f1d5820d66b7ec88ebff144c55b3f Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 22 Dec 2020 15:14:34 -0800
Subject: [PATCH] Release 2020e
* NEWS: Increase version to 2020e.
---
NEWS | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 991b737..6014b45 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,9 @@
News for the tz database
-Unreleased, experimental changes
+Release 2020e - 2020-12-22 15:14:34 -0800
+
+ Briefly:
+ Volgograd switches to Moscow time on 2020-12-27 at 02:00.
Changes to future timestamps
--
1.8.3.1

View File

@ -1,25 +0,0 @@
From 846c3ac7abc246094dd754ac6dc90423148a5107 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 29 Dec 2020 00:17:46 -0800
Subject: [PATCH] Release 2020f
* NEWS: Increase version to 2020f.
---
NEWS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index a0863fb..19470cc 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
News for the tz database
-Unreleased, experimental changes
+Release 2020f - 2020-12-29 00:17:46 -0800
Change to build procedure
--
1.8.3.1

View File

@ -1,126 +0,0 @@
From b3cf2ee42f0799e190c875f3af2ce6e5a7e287ce Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Sat, 3 Oct 2020 17:58:38 -0400
Subject: [PATCH 40/47] Remove obsolete file systemv
* systemv: Remove obsolete file.
* zishrink.awk (BEGIN): Don't depend on the old file.
(process_input_line): Remove exception for the Rules the old file contains.
* Makefile (NDATA, VERSION_DEPS): Remove all uses.
* NEWS: Document this.
---
Makefile | 4 ++--
NEWS | 5 +++++
systemv | 39 ---------------------------------------
zishrink.awk | 4 ----
4 files changed, 7 insertions(+), 45 deletions(-)
delete mode 100644 systemv
diff --git a/Makefile b/Makefile
index 8abd4d0..0a06521 100644
--- a/Makefile
+++ b/Makefile
@@ -533,7 +533,7 @@ DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES)
PRIMARY_YDATA= africa antarctica asia australasia \
europe northamerica southamerica
YDATA= $(PRIMARY_YDATA) etcetera
-NDATA= systemv factory
+NDATA= factory
TDATA_TO_CHECK= $(YDATA) $(NDATA) backward pacificnew
TDATA= $(YDATA) $(NDATA) $(BACKWARD)
ZONETABLES= zone1970.tab zone.tab
@@ -569,7 +569,7 @@ VERSION_DEPS= \
leap-seconds.list leapseconds.awk localtime.c \
newctime.3 newstrftime.3 newtzset.3 northamerica \
pacificnew private.h \
- southamerica strftime.c systemv theory.html \
+ southamerica strftime.c theory.html \
time2posix.3 tz-art.html tz-how-to.html tz-link.html \
tzfile.5 tzfile.h tzselect.8 tzselect.ksh \
workman.sh yearistype.sh \
diff --git a/NEWS b/NEWS
index f0858f8..2cabf90 100644
--- a/NEWS
+++ b/NEWS
@@ -58,6 +58,11 @@ Unreleased, experimental changes
The Makefile now defaults POSIXRULES to '-', so the posixrules
feature (obsolete as of 2019b) is no longer installed by default.
+ Changes to documentation and commentary
+
+ The long-obsolete file systemv has been removed from the
+ distribution. (Thanks to Tim Parenti.)
+
Release 2020a - 2020-04-23 16:03:47 -0700
diff --git a/systemv b/systemv
deleted file mode 100644
index a8c037c..0000000
--- a/systemv
+++ /dev/null
@@ -1,39 +0,0 @@
-# tzdb data for System V rules (this file is obsolete)
-
-# This file is in the public domain, so clarified as of
-# 2009-05-17 by Arthur David Olson.
-
-# Old rules, should the need arise.
-# No attempt is made to handle Newfoundland, since it cannot be expressed
-# using the System V "TZ" scheme (half-hour offset), or anything outside
-# North America (no support for non-standard DST start/end dates), nor
-# the changes in the DST rules in the US after 1976 (which occurred after
-# the old rules were written).
-#
-# If you need the old rules, uncomment ## lines.
-# Compile this *without* leap second correction for true conformance.
-
-# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-Rule SystemV min 1973 - Apr lastSun 2:00 1:00 D
-Rule SystemV min 1973 - Oct lastSun 2:00 0 S
-Rule SystemV 1974 only - Jan 6 2:00 1:00 D
-Rule SystemV 1974 only - Nov lastSun 2:00 0 S
-Rule SystemV 1975 only - Feb 23 2:00 1:00 D
-Rule SystemV 1975 only - Oct lastSun 2:00 0 S
-Rule SystemV 1976 max - Apr lastSun 2:00 1:00 D
-Rule SystemV 1976 max - Oct lastSun 2:00 0 S
-
-# Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL]
-## Zone SystemV/AST4ADT -4:00 SystemV A%sT
-## Zone SystemV/EST5EDT -5:00 SystemV E%sT
-## Zone SystemV/CST6CDT -6:00 SystemV C%sT
-## Zone SystemV/MST7MDT -7:00 SystemV M%sT
-## Zone SystemV/PST8PDT -8:00 SystemV P%sT
-## Zone SystemV/YST9YDT -9:00 SystemV Y%sT
-## Zone SystemV/AST4 -4:00 - AST
-## Zone SystemV/EST5 -5:00 - EST
-## Zone SystemV/CST6 -6:00 - CST
-## Zone SystemV/MST7 -7:00 - MST
-## Zone SystemV/PST8 -8:00 - PST
-## Zone SystemV/YST9 -9:00 - YST
-## Zone SystemV/HST10 -10:00 - HST
diff --git a/zishrink.awk b/zishrink.awk
index 4e187ac..1947c7c 100644
--- a/zishrink.awk
+++ b/zishrink.awk
@@ -166,9 +166,6 @@ function process_input_line(line, \
ruleline = sub(/^Rule /, "R ", line)
zoneline = sub(/^Zone /, "Z ", line)
- # SystemV rules are not needed.
- if (line ~ /^R SystemV /) return
-
# Replace FooAsia rules with the same rules without "Asia", as they
# are duplicates.
if (match(line, /[^ ]Asia /)) {
@@ -275,7 +272,6 @@ BEGIN {
default_dep["factory"] = 1
default_dep["northamerica"] = 1
default_dep["southamerica"] = 1
- default_dep["systemv"] = 1
default_dep["ziguard.awk"] = 1
default_dep["zishrink.awk"] = 1
--
1.8.3.1

View File

@ -1,118 +0,0 @@
From d36f8f5b698370ce110b70f3296e8c06a7ccc3cc Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 24 Apr 2020 16:49:45 -0700
Subject: [PATCH 01/47] Remove tzsetwall
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Might as well do this now, while its fresh in my mind.
* Makefile, NEWS: Update accordingly.
* localtime.c (tzset_unlocked, tzsetlcl): Merge, since theres now
only one caller to either.
* localtime.c, private.h (tzsetwall): Remove.
---
Makefile | 3 +--
NEWS | 8 ++++++++
localtime.c | 20 ++------------------
private.h | 5 -----
4 files changed, 11 insertions(+), 25 deletions(-)
diff --git a/Makefile b/Makefile
index 610bf19..107f67e 100644
--- a/Makefile
+++ b/Makefile
@@ -333,9 +333,8 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# add
# -DSTD_INSPIRED
# to the end of the "CFLAGS=" line. This arranges for the functions
-# "tzsetwall", "offtime", "timelocal", "timegm", "timeoff",
+# "offtime", "timelocal", "timegm", "timeoff",
# "posix2time", and "time2posix" to be added to the time conversion library.
-# "tzsetwall" is deprecated and is intended to be removed soon; see NEWS.
# "offtime" is like "gmtime" except that it accepts a second (long) argument
# that gives an offset to add to the time_t when converting it.
# "timelocal" is equivalent to "mktime".
diff --git a/NEWS b/NEWS
index 321e090..ac491e1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,13 @@
News for the tz database
+Unreleased, experimental changes
+
+ Changes to code
+
+ The undocumented and ineffective tzsetwall function has been
+ removed.
+
+
Release 2020a - 2020-04-23 16:03:47 -0700
Briefly:
diff --git a/localtime.c b/localtime.c
index 6623eac..d3e406b 100644
--- a/localtime.c
+++ b/localtime.c
@@ -1355,8 +1355,9 @@ zoneinit(struct state *sp, char const *name)
}
static void
-tzsetlcl(char const *name)
+tzset_unlocked(void)
{
+ char const *name = getenv("TZ");
struct state *sp = lclptr;
int lcl = name ? strlen(name) < sizeof lcl_TZname : -1;
if (lcl < 0
@@ -1377,23 +1378,6 @@ tzsetlcl(char const *name)
lcl_is_set = lcl;
}
-#ifdef STD_INSPIRED
-void
-tzsetwall(void)
-{
- if (lock() != 0)
- return;
- tzsetlcl(NULL);
- unlock();
-}
-#endif
-
-static void
-tzset_unlocked(void)
-{
- tzsetlcl(getenv("TZ"));
-}
-
void
tzset(void)
{
diff --git a/private.h b/private.h
index 8513663..9efcd78 100644
--- a/private.h
+++ b/private.h
@@ -477,8 +477,6 @@ typedef time_tz tz_time_t;
# define tzfree tz_tzfree
# undef tzset
# define tzset tz_tzset
-# undef tzsetwall
-# define tzsetwall tz_tzsetwall
# if HAVE_STRFTIME_L
# undef strftime_l
# define strftime_l tz_strftime_l
@@ -551,9 +549,6 @@ extern long altzone;
*/
#ifdef STD_INSPIRED
-# if TZ_TIME_T || !defined tzsetwall
-void tzsetwall(void);
-# endif
# if TZ_TIME_T || !defined offtime
struct tm *offtime(time_t const *, long);
# endif
--
1.8.3.1

View File

@ -1,56 +0,0 @@
From ce7b1bbc761ba451b120fc6498ebc5bf2b773fc4 Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Sat, 5 Dec 2020 23:38:05 -0500
Subject: [PATCH] Seychelles switched from LMT to +04 on 1907-01-01
(Thanks to P Chan.)
* NEWS: Mention this.
* africa (Indian/Mahe): Transition from LMT to standard time was
1907-01-01, not 1906-06.
---
NEWS | 1 +
africa | 15 ++++++++++++++-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 0937d8a..dd131a9 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,7 @@ Unreleased, experimental changes
- Ghana: several 1915 through 1956 transitions
- Israel and Palestine: several 1940 through 1985 transitions
- Kenya and adjacent: several 1908 through 1960 transitions
+ - Seychelles: the introduction of standard time in 1907, not 1906
- Vanuatu: DST in 1973-1974, and a corrected 1984 transition
(Thanks to P Chan.)
diff --git a/africa b/africa
index 27c987a..e0200a9 100644
--- a/africa
+++ b/africa
@@ -1392,8 +1392,21 @@ Zone Africa/Sao_Tome 0:26:56 - LMT 1884
# See Africa/Abidjan.
# Seychelles
+
+# From P Chan (2020-11-27):
+# Standard Time was adopted on 1907-01-01.
+#
+# Standard Time Ordinance (Chapter 237)
+# The Laws of Seychelles in Force on the 31st December, 1971, Vol. 6, p 571
+# https://books.google.com/books?id=efE-AQAAIAAJ&pg=PA571
+#
+# From Tim Parenti (2020-12-05):
+# A footnote on https://books.google.com/books?id=DYdDAQAAMAAJ&pg=PA1689
+# confirms that Ordinance No. 9 of 1906 "was brought into force on the 1st
+# January, 1907."
+
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
+Zone Indian/Mahe 3:41:48 - LMT 1907 Jan 1 # Victoria
4:00 - +04
# From Paul Eggert (2001-05-30):
# Aldabra, Farquhar, and Desroches, originally dependencies of the
--
1.8.3.1

View File

@ -1,57 +0,0 @@
From 7d7a4fb5bdaf778d48903b56d4200dd84282238e Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 19 Jan 2021 13:17:42 -0800
Subject: [PATCH] South Sudan changes from +03 to +02 on 2021-02-01.
(Thanks to Steffen Thorsen.)
* NEWS: Mention this.
* africa (Africa/Juba): Implement it.
---
NEWS | 7 +++++++
africa | 8 +++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 19470cc..13c87b0 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,13 @@ News for the tz database
Release 2020f - 2020-12-29 00:17:46 -0800
+ Briefly:
+ South Sudan changes from +03 to +02 on 2021-02-01.
+
+ Changes to future timestamps
+ South Sudan changes from +03 to +02 on 2021-02-01 at 00:00.
+ (Thanks to Steffen Thorsen.)
+
Change to build procedure
'make rearguard_tarballs' no longer generates a bad rearguard.zi,
diff --git a/africa b/africa
index 59cf501..28168cf 100644
--- a/africa
+++ b/africa
@@ -1527,11 +1527,17 @@ Zone Africa/Khartoum 2:10:08 - LMT 1931
3:00 - EAT 2017 Nov 1
2:00 - CAT
+# From Steffen Thorsen (2021-01-18):
+# "South Sudan will change its time zone by setting the clock back 1
+# hour on February 1, 2021...."
+# from https://eyeradio.org/south-sudan-adopts-new-time-zone-makuei/
+
# South Sudan
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Juba 2:06:28 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
- 3:00 - EAT
+ 3:00 - EAT 2021 Feb 1 00:00
+ 2:00 - CAT
# Tanzania
# See Africa/Nairobi.
--
1.8.3.1

View File

@ -1,46 +0,0 @@
From 06520a2b42f242868260e389f7871a1b691e0525 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 4 Oct 2020 14:08:25 -0700
Subject: [PATCH 44/47] Tighten up scope wording
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Problem reported by Michael Deckers in:
https://mm.icann.org/pipermail/tz/2020-October/029299.html
* theory.html: Reword scope to be less ambitious.
* tz-link.html: Remove “computer-based”.
---
theory.html | 2 +-
tz-link.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/theory.html b/theory.html
index 22b9815..4613799 100644
--- a/theory.html
+++ b/theory.html
@@ -33,7 +33,7 @@
The <a
href="https://www.iana.org/time-zones"><code><abbr>tz</abbr></code>
database</a> attempts to record the history and predicted future of
-all computer-based clocks that track civil time.
+civil time scales.
It organizes <a href="tz-link.html">time zone and daylight saving time
data</a> by partitioning the world into <a
href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"><dfn>timezones</dfn></a>
diff --git a/tz-link.html b/tz-link.html
index b634082..606a83b 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -218,7 +218,7 @@ advance, as this will coordinate updates to many cell phones,
computers, and other devices around the world.
The change should be officially announced at least a year before it affects
how clocks operate; otherwise, there is a good chance that some
-computer-based clocks will operate incorrectly after the change, due
+clocks will operate incorrectly after the change, due
to delays in propagating updates to software and data. The shorter
the notice, the more likely clock problems will arise; see "<a
href="https://codeofmatt.com/2016/04/23/on-the-timing-of-time-zone-changes/">On
--
1.8.3.1

View File

@ -1,45 +0,0 @@
From 39c661ee11b6d199befcc28ef10867b55620dfac Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 22 Jul 2020 16:37:01 -0700
Subject: [PATCH 21/47] Update Bahrain as per article in The National
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* backzone (Asia/Bahrain): Adjust transitions before 1944 to
match Ashleigh Stewarts article in todays The National (Abu Dhabi).
---
backzone | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/backzone b/backzone
index 91fa21d..7cf026d 100644
--- a/backzone
+++ b/backzone
@@ -459,7 +459,22 @@ Zone Asia/Aden 2:59:54 - LMT 1950
3:00 - +03
# Bahrain
-Zone Asia/Bahrain 3:22:20 - LMT 1920 # Manamah
+#
+# From Paul Eggert (2020-07-22):
+# Most of this data comes from:
+# Stewart A. Why Gulf Standard Time is far from standard: the fascinating story
+# behind the time zone's invention. The National (Abu Dhabi). 2020-07-22.
+# https://www.thenational.ae/arts-culture/why-gulf-standard-time-is-far-from-standard-the-fascinating-story-behind-the-time-zone-s-invention-1.1052589
+# Stewart writes that before 1940 some companies in Bahrain were at +0330 and
+# others at +0323. Reginald George Alban, a British political agent based in
+# Manama, worked to standardize this, and from 1941-07-20 Bahrain was at
+# +0330. However, BOAC asked that clocks be moved to gain more light at day's
+# end, so Bahrain switched to +04 on 1944-01-01.
+#
+# We don't know when companies chose +0330 or +0323 before 1940; for now
+# assume that there was no real standard in Bahrain before 1941-07-20.
+Zone Asia/Bahrain 3:22:20 - LMT 1941 Jul 20 # Manamah
+ 3:30 - +0330 1944 Jan 1
4:00 - +04 1972 Jun
3:00 - +03
--
1.8.3.1

View File

@ -1,53 +0,0 @@
From 40e0dc322dda0d94807e422e337888f1da7a7f82 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 16 Oct 2020 19:11:31 -0700
Subject: [PATCH] Update Danish URLs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* europe: Update Danish URLs since the old ones no longer work.
No need to refer to the now-vanished page of poe (Peter Øhrstrøm)
since it was a secondary source anyway.
---
europe | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/europe b/europe
index af6c628..ea23736 100644
--- a/europe
+++ b/europe
@@ -1029,17 +1029,16 @@ Zone Europe/Prague 0:57:44 - LMT 1850
# Denmark, Faroe Islands, and Greenland
# From Jesper Nørgaard Welen (2005-04-26):
-# http://www.hum.aau.dk/~poe/tid/tine/DanskTid.htm says that the law
-# [introducing standard time] was in effect from 1894-01-01....
-# The page http://www.retsinfo.dk/_GETDOCI_/ACCN/A18930008330-REGL
+# the law [introducing standard time] was in effect from 1894-01-01....
+# The page https://www.retsinformation.dk/eli/lta/1893/83
# confirms this, and states that the law was put forth 1893-03-29.
#
# The EU [actually, EEC and Euratom] treaty with effect from 1973:
-# http://www.retsinfo.dk/_GETDOCI_/ACCN/A19722110030-REGL
+# https://www.retsinformation.dk/eli/lta/1972/21100
#
# This provoked a new law from 1974 to make possible summer time changes
# in subsequent decrees with the law
-# http://www.retsinfo.dk/_GETDOCI_/ACCN/A19740022330-REGL
+# https://www.retsinformation.dk/eli/lta/1974/223
#
# It seems however that no decree was set forward until 1980. I have
# not found any decree, but in another related law, the effecting DST
@@ -1051,7 +1050,7 @@ Zone Europe/Prague 0:57:44 - LMT 1850
# The law is about the management of the extra hour, concerning
# working hours reported and effect on obligatory-rest rules (which
# was suspended on that night):
-# http://www.retsinfo.dk/_GETDOCI_/ACCN/C19801120554-REGL
+# https://web.archive.org/web/20140104053304/https://www.retsinformation.dk/Forms/R0710.aspx?id=60267
# From Jesper Nørgaard Welen (2005-06-11):
# The Herning Folkeblad (1980-09-26) reported that the night between
--
1.8.3.1

View File

@ -1,42 +0,0 @@
From 78422f077abeb56e2be8fd6852eb95361398c008 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 22 Oct 2020 13:39:01 -0700
Subject: [PATCH 3/6] Use better fallback for unknown $(VERSION)
Problem reported by Carlos Jimenez in:
https://mm.icann.org/pipermail/tz/2020-October/029380.html
* Makefile (version): If $(VERSION) is unknown, reuse contents
of existing version file and append "-dirty" if they do not
already end in "-dirty".
---
Makefile | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 3b9d59e..a0b6aeb 100644
--- a/Makefile
+++ b/Makefile
@@ -583,11 +583,19 @@ INSTALL: ALL install date.1
cp date '$(DESTDIR)$(BINDIR)/.'
cp -f date.1 '$(DESTDIR)$(MANDIR)/man1/.'
+# Calculate version number from git, if available.
+# Otherwise, use $(VERSION) unless it is "unknown" and there is already
+# a 'version' file, in which case reuse the existing 'version' contents
+# and append "-dirty" if the contents do not already end in "-dirty".
version: $(VERSION_DEPS)
{ (type git) >/dev/null 2>&1 && \
V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \
--abbrev=7 --dirty` || \
- V='$(VERSION)'; } && \
+ if test '$(VERSION)' = unknown && V=`cat $@`; then \
+ case $$V in *-dirty);; *) V=$$V-dirty;; esac; \
+ else \
+ V='$(VERSION)'; \
+ fi; } && \
printf '%s\n' "$$V" >$@.out
mv $@.out $@
--
1.8.3.1

View File

@ -1,648 +0,0 @@
From 402965e639e89b3bdad2cc9ed36451f466766edb Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 26 Apr 2020 23:39:52 -0700
Subject: [PATCH 02/47] Use bold for command and func names in man pages
This seems to be the modern style.
Problem reported by Michael Kerrisk (for GNU/Linux man pages).
---
date.1 | 4 ++-
newctime.3 | 104 ++++++++++++++++++++++++++++++++++++----------------------
newstrftime.3 | 4 +--
newtzset.3 | 34 +++++++++++--------
time2posix.3 | 24 ++++++++------
tzfile.5 | 52 ++++++++++++++---------------
tzselect.8 | 2 +-
zdump.8 | 2 +-
zic.8 | 2 +-
9 files changed, 133 insertions(+), 95 deletions(-)
diff --git a/date.1 b/date.1
index 6e79cc1..432cab1 100644
--- a/date.1
+++ b/date.1
@@ -27,7 +27,9 @@ date \- show and set date and time
.de q
\\$3\*(lq\\$1\*(rq\\$2
..
-.I Date
+The
+.B date
+command
without arguments writes the date and time to the standard output in
the form
.ce 1
diff --git a/newctime.3 b/newctime.3
index 565e89a..cc56e2c 100644
--- a/newctime.3
+++ b/newctime.3
@@ -51,7 +51,9 @@ asctime, ctime, difftime, gmtime, localtime, mktime \- convert date and time
.de q
\\$3\*(lq\\$1\*(rq\\$2
..
-.I Ctime
+The
+.B ctime
+function
converts a long integer, pointed to by
.IR clock ,
and returns a pointer to a
@@ -86,45 +88,55 @@ and can therefore represent timestamps that predate the
introduction of UTC and are some other flavor of Universal Time (UT).
Some implementations support leap seconds, in contradiction to POSIX.
.PP
-.I Localtime
+The
+.B localtime
and
-.I gmtime
+.B gmtime
+functions
return pointers to
.q "tm"
structures, described below.
-.I Localtime
+The
+.B localtime
+function
corrects for the time zone and any time zone adjustments
(such as Daylight Saving Time in the United States).
After filling in the
.q "tm"
structure,
-.I localtime
+.B localtime
sets the
.BR tm_isdst 'th
element of
.B tzname
to a pointer to a string that's the time zone abbreviation to be used with
-.IR localtime 's
+.BR localtime 's
return value.
.PP
-.I Gmtime
+The
+.B gmtime
+function
converts to Coordinated Universal Time.
.PP
-.I Asctime
+The
+.B asctime
+function
converts a time value contained in a
.q "tm"
structure to a string,
as shown in the above example,
and returns a pointer to the string.
.PP
-.I Mktime
+The
+.B mktime
+function
converts the broken-down time,
expressed as local time,
in the structure pointed to by
.I tm
into a calendar time value with the same encoding as that of the values
returned by the
-.I time
+.B time
function.
The original values of the
.B tm_wday
@@ -136,14 +148,14 @@ to their normal ranges.
(A positive or zero value for
.B tm_isdst
causes
-.I mktime
+.B mktime
to presume initially that daylight saving time
respectively,
is or is not in effect for the specified time.
A negative value for
.B tm_isdst
causes the
-.I mktime
+.B mktime
function to attempt to divine whether daylight saving time is in effect
for the specified time; in this case it does not use a consistent
rule and may give a different answer when later
@@ -161,29 +173,37 @@ is not set until
and
.B tm_year
are determined.
-.I Mktime
+The
+.B mktime
+function
returns the specified calendar time;
If the calendar time cannot be represented,
it returns \-1.
.PP
-.I Difftime
+The
+.B difftime
+function
returns the difference between two calendar times,
.RI ( time1
\-
.IR time0 ),
expressed in seconds.
.PP
-.IR Ctime_r ,
-.IR localtime_r ,
-.IR gmtime_r ,
+The
+.BR ctime_r ,
+.BR localtime_r ,
+.BR gmtime_r ,
and
-.I asctime_r
+.B asctime_r
+functions
are like their unsuffixed counterparts, except that they accept an
additional argument specifying where to store the result if successful.
.PP
-.IR Localtime_rz
+The
+.B localtime_rz
and
-.I mktime_z
+.B mktime_z
+functions
are like their unsuffixed counterparts, except that they accept an
extra initial
.B zone
@@ -193,9 +213,9 @@ If
is null, UT is used; otherwise,
.B zone
should be have been allocated by
-.I tzalloc
+.B tzalloc
and should not be freed until after all uses (e.g., by calls to
-.IR strftime )
+.BR strftime )
of the filled-in
.B tm_zone
fields.
@@ -227,21 +247,25 @@ includes the following fields:
.fi
.RE
.PP
-.I Tm_isdst
+The
+.B tm_isdst
+field
is non-zero if daylight saving time is in effect.
.PP
-.I Tm_gmtoff
+The
+.B tm_gmtoff
+field
is the offset (in seconds) of the time represented
from UT, with positive values indicating east
of the Prime Meridian.
The field's name is derived from Greenwich Mean Time, a precursor of UT.
.PP
In
-.B struct tm
+.B "struct tm"
the
-.I tm_zone
+.B tm_zone
and
-.I tm_gmtoff
+.B tm_gmtoff
fields exist, and are filled in, only if arrangements to do
so were made when the library containing these functions was
created.
@@ -273,11 +297,11 @@ time(2),
tzfile(5)
.SH NOTES
The return values of
-.IR asctime ,
-.IR ctime ,
-.IR gmtime ,
+.BR asctime ,
+.BR ctime ,
+.BR gmtime ,
and
-.I localtime
+.B localtime
point to static data
overwritten by each call.
The
@@ -288,19 +312,21 @@ field of a returned
.B "struct tm"
both point to an array of characters that
can be freed or overwritten by later calls to the functions
-.IR localtime ,
-.IR tzfree ,
+.BR localtime ,
+.BR tzfree ,
and
-.IR tzset ,
+.BR tzset ,
if these functions affect the timezone information that specifies the
abbreviation in question.
The remaining functions and data are thread-safe.
.PP
-.IR Asctime ,
-.IR asctime_r ,
-.IR ctime ,
+The
+.BR asctime ,
+.BR asctime_r ,
+.BR ctime ,
and
-.I ctime_r
+.B ctime_r
+functions
behave strangely for years before 1000 or after 9999.
The 1989 and 1999 editions of the C Standard say
that years from \-99 through 999 are converted without
@@ -311,7 +337,7 @@ is undefined if the year is before 1000 or after 9999.
Traditional implementations of these two functions are
restricted to years in the range 1900 through 2099.
To avoid this portability mess, new programs should use
-.I strftime
+.B strftime
instead.
.\" This file is in the public domain, so clarified as of
.\" 2009-05-17 by Arthur David Olson.
diff --git a/newstrftime.3 b/newstrftime.3
index eee503e..df38d1a 100644
--- a/newstrftime.3
+++ b/newstrftime.3
@@ -60,7 +60,7 @@ strftime \- format date and time
\\$3\*(lq\\$1\*(rq\\$2
..
The
-.I strftime
+.B strftime
function formats the information from
.I timeptr
into the buffer
@@ -83,7 +83,7 @@ characters are placed into the array.
If the total number of resulting characters, including the terminating
null character, is not more than
.IR maxsize ,
-.I strftime
+.B strftime
returns the number of characters in the array, not counting the
terminating null.
Otherwise, zero is returned.
diff --git a/newtzset.3 b/newtzset.3
index 4959851..05aa350 100644
--- a/newtzset.3
+++ b/newtzset.3
@@ -25,49 +25,55 @@ tzset \- initialize time conversion information
.de q
\\$3\*(lq\\$1\*(rq\\$2
..
-.I Tzalloc
+The
+.B tzalloc
+function
allocates and returns a timezone object described by
.BR TZ .
If
.B TZ
is not a valid timezone description, or if the object cannot be allocated,
-.I tzalloc
+.B tzalloc
returns a null pointer and sets
.BR errno .
.PP
-.I Tzfree
+The
+.B tzfree
+function
frees a timezone object
.BR tz ,
which should have been successfully allocated by
-.IR tzalloc .
+.BR tzalloc .
This invalidates any
.B tm_zone
pointers that
.B tz
was used to set.
.PP
-.I Tzset
+The
+.B tzset
+function
acts like
.BR tzalloc(getenv("TZ")) ,
except it saves any resulting timezone object into internal
storage that is accessed by
-.IR localtime ,
-.IR localtime_r ,
+.BR localtime ,
+.BR localtime_r ,
and
-.IR mktime .
+.BR mktime .
The anonymous shared timezone object is freed by the next call to
-.IR tzset .
+.BR tzset .
If the implied call to
.B tzalloc
fails,
-.I tzset
+.B tzset
falls back on Universal Time (UT).
.PP
If
.B TZ
is null, the best available approximation to local (wall
clock) time, as specified by the
-.IR tzfile (5)-format
+.BR tzfile (5)-format
file
.B localtime
in the system time conversion information directory, is used.
@@ -76,7 +82,7 @@ If
is the empty string,
UT is used, with the abbreviation "UTC"
and without leap second correction; please see
-.IR newctime (3)
+.BR newctime (3)
for more about UT, UTC, and leap seconds. If
.B TZ
is nonnull and nonempty:
@@ -96,7 +102,7 @@ it is used as an absolute pathname; otherwise,
it is used as a pathname relative to a system time conversion information
directory.
The file must be in the format specified in
-.IR tzfile (5).
+.BR tzfile (5).
.PP
When
.B TZ
@@ -304,7 +310,7 @@ is present in
.BR TZ ,
the rules specified
by the
-.IR tzfile (5)-format
+.BR tzfile (5)-format
file
.B posixrules
in the system time conversion information directory are used, with the
diff --git a/time2posix.3 b/time2posix.3
index e4b8e81..fbb5766 100644
--- a/time2posix.3
+++ b/time2posix.3
@@ -47,11 +47,11 @@ to be
(mostly)
opaque \*(en time_t values should only be obtained-from and
passed-to functions such as
-.IR time(2) ,
-.IR localtime(3) ,
-.IR mktime(3) ,
+.BR time(2) ,
+.BR localtime(3) ,
+.BR mktime(3) ,
and
-.IR difftime(3) .
+.BR difftime(3) .
However,
POSIX gives an arithmetic
expression for directly computing a time_t value from a given date/time,
@@ -63,9 +63,9 @@ using such a relationship will typically not handle intervals
over leap seconds correctly.
.PP
The
-.I time2posix
+.B time2posix
and
-.I posix2time
+.B posix2time
functions are provided to address this time_t mismatch by converting
between local time_t values and their POSIX equivalents.
This is done by accounting for the number of time-base changes that
@@ -75,12 +75,16 @@ These converted values can then be used in lieu of correcting the older
applications,
or when communicating with POSIX-compliant systems.
.PP
-.I Time2posix
+The
+.B time2posix
+function
is single-valued.
That is,
every local time_t
corresponds to a single POSIX time_t.
-.I Posix2time
+The
+.B posix2time
+function
is less well-behaved:
for a positive leap second hit the result is not unique,
and for a negative leap second hit the corresponding
@@ -116,9 +120,9 @@ If leap-second support is not enabled,
local time_t's and
POSIX time_t's are equivalent,
and both
-.I time2posix
+.B time2posix
and
-.I posix2time
+.B posix2time
degenerate to the identity function.
.SH SEE ALSO
difftime(3),
diff --git a/tzfile.5 b/tzfile.5
index 3f13563..2642978 100644
--- a/tzfile.5
+++ b/tzfile.5
@@ -40,25 +40,25 @@ Fifteen bytes containing zeros reserved for future use.
Six four-byte integer values, in the following order:
.RS
.TP
-.I tzh_ttisutcnt
+.B tzh_ttisutcnt
The number of UT/local indicators stored in the file.
(UT is Universal Time.)
.TP
-.I tzh_ttisstdcnt
+.B tzh_ttisstdcnt
The number of standard/wall indicators stored in the file.
.TP
-.I tzh_leapcnt
+.B tzh_leapcnt
The number of leap seconds for which data entries are stored in the file.
.TP
-.I tzh_timecnt
+.B tzh_timecnt
The number of transition times for which data entries are stored
in the file.
.TP
-.I tzh_typecnt
+.B tzh_typecnt
The number of local time types for which data entries are stored
in the file (must not be zero).
.TP
-.I tzh_charcnt
+.B tzh_charcnt
The number of bytes of time zone abbreviation strings
stored in the file.
.RE
@@ -66,14 +66,14 @@ stored in the file.
The above header is followed by the following fields, whose lengths
depend on the contents of the header:
.IP * 2
-.I tzh_timecnt
+.B tzh_timecnt
four-byte signed integer values sorted in ascending order.
These values are written in network byte order.
Each is used as a transition time (as returned by
.BR time (2))
at which the rules for computing local time change.
.IP *
-.I tzh_timecnt
+.B tzh_timecnt
one-byte unsigned integer values;
each one but the last tells which of the different types of local time types
described in the file is associated with the time period
@@ -83,8 +83,8 @@ and continuing up to but not including the next transition time.
POSIX-style TZ string described below.)
These values serve as indices into the next field.
.IP *
-.I tzh_typecnt
-.I ttinfo
+.B tzh_typecnt
+.B ttinfo
entries, each defined as follows:
.in +.5i
.sp
@@ -99,36 +99,36 @@ struct ttinfo {
.fi
.sp
Each structure is written as a four-byte signed integer value for
-.IR tt_utoff ,
+.BR tt_utoff ,
in network byte order, followed by a one-byte boolean for
-.I tt_isdst
+.B tt_isdst
and a one-byte value for
-.IR tt_desigidx .
+.BR tt_desigidx .
In each structure,
-.I tt_utoff
+.B tt_utoff
gives the number of seconds to be added to UT,
-.I tt_isdst
+.B tt_isdst
tells whether
-.I tm_isdst
+.B tm_isdst
should be set by
.BR localtime (3)
and
-.I tt_desigidx
+.B tt_desigidx
serves as an index into the array of time zone abbreviation bytes
that follow the
-.I ttinfo
+.B ttinfo
structure(s) in the file.
The
-.I tt_utoff
+.B tt_utoff
value is never equal to \-2**31, to let 32-bit clients negate it without
overflow.
Also, in realistic applications
-.I tt_utoff
+.B tt_utoff
is in the range [\-89999, 93599] (i.e., more than \-25 hours and less
than 26 hours); this allows easy support by implementations that
already support the POSIX-required range [\-24:59:59, 25:59:59].
.IP *
-.I tzh_leapcnt
+.B tzh_leapcnt
pairs of four-byte values, written in network byte order;
the first value of each pair gives the nonnegative time
(as returned by
@@ -142,12 +142,12 @@ The pairs of values are sorted in ascending order by time.
Each transition is for one leap second, either positive or negative;
transitions always separated by at least 28 days minus 1 second.
.IP *
-.I tzh_ttisstdcnt
+.B tzh_ttisstdcnt
standard/wall indicators, each stored as a one-byte boolean;
they tell whether the transition times associated with local time types
were specified as standard time or local (wall clock) time.
.IP *
-.I tzh_ttisutcnt
+.B tzh_ttisutcnt
UT/local indicators, each stored as a one-byte boolean;
they tell whether the transition times associated with local time types
were specified as UT or local time.
@@ -173,10 +173,10 @@ The
.BR localtime (3)
function
normally uses the first
-.I ttinfo
+.B ttinfo
structure in the file
if either
-.I tzh_timecnt
+.B tzh_timecnt
is zero or the time argument is less than the first transition time recorded
in the file.
.SS Version 2 format
@@ -235,7 +235,7 @@ This guideline helps obsolescent version 1 readers
agree with current readers about timestamps within the
contiguous subsequence. It also lets writers not
supporting obsolescent readers use a
-.I tzh_timecnt
+.B tzh_timecnt
of zero
in the version 1 data block to save space.
.PP
diff --git a/tzselect.8 b/tzselect.8
index 51f751c..a1ec8d0 100644
--- a/tzselect.8
+++ b/tzselect.8
@@ -82,7 +82,7 @@ Output version information and exit.
.TP
\f3AWK\fP
Name of a Posix-compliant
-.I awk
+.B awk
program (default:
.BR awk ).
.TP
diff --git a/zdump.8 b/zdump.8
index 98109ad..f3e4e4e 100644
--- a/zdump.8
+++ b/zdump.8
@@ -212,7 +212,7 @@ and
output,
.q "UT"
denotes the value returned by
-.IR gmtime (3),
+.BR gmtime (3),
which uses UTC for modern timestamps and some other UT flavor for
timestamps that predate the introduction of UTC.
No attempt is currently made to have the output use
diff --git a/zic.8 b/zic.8
index b57cd2b..b1bf437 100644
--- a/zic.8
+++ b/zic.8
@@ -224,7 +224,7 @@ or that starts with
.RE
.SH FILES
Input files use the format described in this section; output files use
-.IR tzfile (5)
+.BR tzfile (5)
format.
.PP
Input files should be text files, that is, they should be a series of
--
1.8.3.1

View File

@ -1,61 +0,0 @@
From 7c7419c6ad30e987613b4618dae55b2b1db84839 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 4 Dec 2020 13:56:47 -0800
Subject: [PATCH] Volgograd change likely December 27, not 20
(Thanks to Stepan Golosunov.)
* NEWS: Mention this.
* europe (Europe/Volgograd): Change predicted transition from +04
to +03 from Dec. 20 to Dec. 27.
---
NEWS | 2 +-
europe | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/NEWS b/NEWS
index b56db99..76a5417 100644
--- a/NEWS
+++ b/NEWS
@@ -5,7 +5,7 @@ Unreleased, experimental changes
Changes to future timestamps
Volgograd changes time zone from +04 to +03 on 2020-12-20 at 02:00.
- (Thanks to Alexander Krivenyshev.)
+ (Thanks to Alexander Krivenyshev and Stepan Golosunov.)
Changes to past timestamps
diff --git a/europe b/europe
index 3a8a4e6..fd9e85b 100644
--- a/europe
+++ b/europe
@@ -2894,12 +2894,12 @@ Zone Europe/Astrakhan 3:12:12 - LMT 1924 May
# From Alexander Krivenyshev (2020-11-27):
# The State Duma approved (Nov 24, 2020) the transition of the Volgograd
-# region to the Moscow time zone.... If approved by the the Federation
-# Council and the President, this Federal Law 1012130-7 will enter into force
-# on December 20, 2020....
+# region to the Moscow time zone....
# https://sozd.duma.gov.ru/bill/1012130-7
-# http://docs.cntd.ru/document/566418247
-# https://gorvesti.ru/society/gosduma-progolosovala-za-vozvrat-volgogradskoy-oblasti-k-moskovskomu-vremeni-95877.html
+#
+# From Stepan Golosunov (2020-12-05):
+# Currently proposed text for the second reading (expected on December 8) ...
+# changes the date to December 27. https://v1.ru/text/gorod/2020/12/04/69601031/
Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
3:00 - +03 1930 Jun 21
@@ -2910,7 +2910,7 @@ Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
3:00 Russia +03/+04 2011 Mar 27 2:00s
4:00 - +04 2014 Oct 26 2:00s
3:00 - +03 2018 Oct 28 2:00s
- 4:00 - +04 2020 Dec 20 2:00s
+ 4:00 - +04 2020 Dec 27 2:00s
3:00 - +03
# From Paul Eggert (2016-11-11):
--
1.8.3.1

View File

@ -1,62 +0,0 @@
From 271d9438bc43550672c4020352b0fdcea2822737 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 27 Nov 2020 16:51:01 -0800
Subject: [PATCH] Volgograd switches from +04 to +03 on 12-20 02:00
(Thanks to Alexander Krivenyshev.)
* NEWS: Mention this.
* europe (Europe/Volgograd): Add the transition.
---
NEWS | 5 +++++
europe | 12 +++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index d357abb..0690d87 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,11 @@ News for the tz database
Unreleased, experimental changes
+ Changes to future timestamps
+
+ Volgograd changes time zone from +04 to +03 on 2020-12-20 at 02:00.
+ (Thanks to Alexander Krivenyshev.)
+
Changes to past timestamps
Correct many pre-1986 transitions, fixing entries originally
diff --git a/europe b/europe
index ea23736..3a8a4e6 100644
--- a/europe
+++ b/europe
@@ -2892,6 +2892,15 @@ Zone Europe/Astrakhan 3:12:12 - LMT 1924 May
# The law has been published today on
# http://publication.pravo.gov.ru/Document/View/0001201810110037
+# From Alexander Krivenyshev (2020-11-27):
+# The State Duma approved (Nov 24, 2020) the transition of the Volgograd
+# region to the Moscow time zone.... If approved by the the Federation
+# Council and the President, this Federal Law 1012130-7 will enter into force
+# on December 20, 2020....
+# https://sozd.duma.gov.ru/bill/1012130-7
+# http://docs.cntd.ru/document/566418247
+# https://gorvesti.ru/society/gosduma-progolosovala-za-vozvrat-volgogradskoy-oblasti-k-moskovskomu-vremeni-95877.html
+
Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
3:00 - +03 1930 Jun 21
4:00 - +04 1961 Nov 11
@@ -2901,7 +2910,8 @@ Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
3:00 Russia +03/+04 2011 Mar 27 2:00s
4:00 - +04 2014 Oct 26 2:00s
3:00 - +03 2018 Oct 28 2:00s
- 4:00 - +04
+ 4:00 - +04 2020 Dec 20 2:00s
+ 3:00 - +03
# From Paul Eggert (2016-11-11):
# Europe/Saratov covers:
--
1.8.3.1

View File

@ -1,89 +0,0 @@
From d3bdef36c2deaa1f781f6691f5995ff65899acd9 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 24 Sep 2020 15:52:20 -0700
Subject: [PATCH 36/47] =?UTF-8?q?Yukon=E2=80=99s=20change=20is=20effective?=
=?UTF-8?q?=202020-11-01.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* NEWS: Mention this. (Thanks to Andrew G. Smith.)
* northamerica (America/Whitehorse, America/Dawson):
The rule change is Nov 1, not Mar 8 2:00.
---
NEWS | 13 +++++++++++++
northamerica | 16 ++++++++++++++--
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/NEWS b/NEWS
index 6b9fd43..517d1c8 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ News for the tz database
Unreleased, experimental changes
+ Briefly:
+ Revised predictions for Morocco's changes starting in 20203.
+ Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.
+
Changes to future timestamps
Morocco's spring-forward after Ramadan is now predicted to occur
@@ -9,6 +13,15 @@ Unreleased, experimental changes
(Thanks to Milamber.) The first altered prediction is for 2023,
now predicted to spring-forward on April 30 instead of April 23.
+ Changes to past and future time zone abbreviations and DST flags
+
+ Canada's Yukon, represented by America/Whitehorse and
+ America/Dawson, changes its time zone rules from -08/-07 to
+ permanent -07 on 2020-11-01, not on 2020-03-08 as 2020a had it.
+ This change affects only the time zone abbreviation (MST vs PDT)
+ and daylight saving flag for the period between the two dates.
+ (Thanks to Andrew G. Smith.)
+
Changes to past timestamps
Correct several transitions for Hungary for 1918/1983.
diff --git a/northamerica b/northamerica
index febf05b..1440c7a 100644
--- a/northamerica
+++ b/northamerica
@@ -2449,6 +2449,18 @@ Zone America/Creston -7:46:04 - LMT 1884
# consistency with nearby Dawson Creek, Creston, and Fort Nelson.
# https://yukon.ca/en/news/yukon-end-seasonal-time-change
+# From Andrew G. Smith (2020-09-24):
+# Yukon has completed its regulatory change to be on UTC -7 year-round....
+# http://www.gov.yk.ca/legislation/regs/oic2020_125.pdf
+# What we have done is re-defined Yukon Standard Time, as we are
+# authorized to do under section 33 of our Interpretation Act:
+# http://www.gov.yk.ca/legislation/acts/interpretation_c.pdf
+#
+# From Paul Eggert (2020-09-24):
+# tzdb uses the obsolete YST abbreviation for standard time in Yukon through
+# about 1970, and uses PST for standard time in Yukon since then. Consistent
+# with that, use MST for -07, the new standard time in Yukon effective Nov. 1.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule NT_YK 1918 only - Apr 14 2:00 1:00 D
Rule NT_YK 1918 only - Oct 27 2:00 0 S
@@ -2503,12 +2515,12 @@ Zone America/Inuvik 0 - -00 1953 # Inuvik founded
Zone America/Whitehorse -9:00:12 - LMT 1900 Aug 20
-9:00 NT_YK Y%sT 1967 May 28 0:00
-8:00 NT_YK P%sT 1980
- -8:00 Canada P%sT 2020 Mar 8 2:00
+ -8:00 Canada P%sT 2020 Nov 1
-7:00 - MST
Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
-9:00 NT_YK Y%sT 1973 Oct 28 0:00
-8:00 NT_YK P%sT 1980
- -8:00 Canada P%sT 2020 Mar 8 2:00
+ -8:00 Canada P%sT 2020 Nov 1
-7:00 - MST
--
1.8.3.1

View File

@ -1,43 +0,0 @@
From d6abc89b355c699bac3ee50c708c35ca256b922e Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 2 Oct 2020 10:23:21 -0700
Subject: [PATCH 39/47] * antarctica (Antarctica/Casey): Correct 2019-10
transition.
---
antarctica | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/antarctica b/antarctica
index 94aeb17..458b3a7 100644
--- a/antarctica
+++ b/antarctica
@@ -70,14 +70,14 @@
# Australian Antarctica Division informed us that Casey changed time
# zone to UTC+11 in "the morning of 22nd October 2016".
-# From Steffen Thorsen (2020-10-02):
+# From Steffen Thorsen (2020-10-02, as corrected):
# Based on information we have received from the Australian Antarctic
# Division, Casey station and Macquarie Island station will move to Tasmanian
# daylight savings time on Sunday 4 October. This will take effect from 0001
# hrs on Sunday 4 October 2020 and will mean Casey and Macquarie Island will
# be on the same time zone as Hobart. Some past dates too for this 3 hour
# time change back and forth between UTC+8 and UTC+11 for Casey:
-# - 2018 Oct 7 4:00 - 2019 Mar 17 3:00 - 2019 Oct 6 3:00 - 2020 Mar 8 3:00
+# - 2018 Oct 7 4:00 - 2019 Mar 17 3:00 - 2019 Oct 4 3:00 - 2020 Mar 8 3:00
# and now - 2020 Oct 4 0:01
# Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -90,7 +90,7 @@ Zone Antarctica/Casey 0 - -00 1969
11:00 - +11 2018 Mar 11 4:00
8:00 - +08 2018 Oct 7 4:00
11:00 - +11 2019 Mar 17 3:00
- 8:00 - +08 2019 Oct 6 3:00
+ 8:00 - +08 2019 Oct 4 3:00
11:00 - +11 2020 Mar 8 3:00
8:00 - +08 2020 Oct 4 0:01
11:00 - +11
--
1.8.3.1

View File

@ -1,27 +0,0 @@
From 3e865829ebbb6639d3392f4a10a7c192572be833 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 23 Aug 2020 15:59:39 -0700
Subject: [PATCH 29/47] * asia: Cite Barak 2020 on Israeli DST controversy.
---
asia | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/asia b/asia
index 106efad..fff9a10 100644
--- a/asia
+++ b/asia
@@ -1699,6 +1699,10 @@ Zone Asia/Baghdad 2:57:40 - LMT 1890
# Israel
+# For more info about the motivation for DST in Israel, see:
+# Barak Y. Israel's Daylight Saving Time controversy. Israel Affairs.
+# 2020-08-11. https://doi.org/10.1080/13537121.2020.1806564
+
# From Ephraim Silverberg (2001-01-11):
#
# I coined "IST/IDT" circa 1988. Until then there were three
--
1.8.3.1

View File

@ -1,52 +0,0 @@
From ba912ae8b7bc674ae7ab9a28b0b40060bb0c676e Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 23 Jul 2020 13:32:02 -0700
Subject: [PATCH 22/47] * backzone: More commentary re 1940s Bahrain.
---
backzone | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/backzone b/backzone
index 7cf026d..f2684b4 100644
--- a/backzone
+++ b/backzone
@@ -460,19 +460,31 @@ Zone Asia/Aden 2:59:54 - LMT 1950
# Bahrain
#
-# From Paul Eggert (2020-07-22):
+# From Paul Eggert (2020-07-23):
# Most of this data comes from:
# Stewart A. Why Gulf Standard Time is far from standard: the fascinating story
# behind the time zone's invention. The National (Abu Dhabi). 2020-07-22.
# https://www.thenational.ae/arts-culture/why-gulf-standard-time-is-far-from-standard-the-fascinating-story-behind-the-time-zone-s-invention-1.1052589
-# Stewart writes that before 1940 some companies in Bahrain were at +0330 and
+# Stewart writes that before 1941 some companies in Bahrain were at +0330 and
# others at +0323. Reginald George Alban, a British political agent based in
# Manama, worked to standardize this, and from 1941-07-20 Bahrain was at
# +0330. However, BOAC asked that clocks be moved to gain more light at day's
# end, so Bahrain switched to +04 on 1944-01-01.
#
-# We don't know when companies chose +0330 or +0323 before 1940; for now
-# assume that there was no real standard in Bahrain before 1941-07-20.
+# Re the 1941 transition, Stewart privately sent me this citation:
+# "File 16/53 Enquiries Re: Calculation of Local Time", British Library: India
+# Office Records and Private Papers, IOR/R/15/2/1564, in Qatar Digital Library
+# https://www.qdl.qa/archive/81055/vdc_100000000282.0x00012b
+# It says there was no real standard in Bahrain before 1941-07-20.
+# +0330 was used by steamers of the British India Co, by Petroleum Concessions
+# and by Cable & Wireless; +0323 was used by the Eastern Bank Ltd, BOAC, and
+# Bahrein Petroleum (Bapco), and California Arabian Standard Oil Co (Casoc)
+# adopted DST effective 1941-05-24. Alban suggested adopting DST, R.B. Coomb
+# of C&W countersuggested +0330, and although C.A. Rodstrom of Casoc (formerly
+# of Bapco) stated that Bahrain had formerly used +0330 before Bapco arrived
+# but Bapco switched to +0323 because of "constant confusion", the consensus
+# was +0330. The government adopted +0330 in 1941-07-20 and companies seem to
+# have switched by 08-01. No time of day was given for the 1940s transitions.
Zone Asia/Bahrain 3:22:20 - LMT 1941 Jul 20 # Manamah
3:30 - +0330 1944 Jan 1
4:00 - +04 1972 Jun
--
1.8.3.1

View File

@ -1,68 +0,0 @@
From dca583ac625cbbc21b5a795ef36d1f90fabbcce7 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 9 Aug 2020 10:42:02 -0700
Subject: [PATCH 25/47] date: redo strftime buffer-exhaustion check
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Suggested by Robert Elz in:
https://mm.icann.org/pipermail/tz/2020-August/029193.html
* date.c (main, display): Record the formats leading '+' too.
(timeout): Format the leading '+' too; just dont output it.
This simplifies checking for buffer exhaustion, given strftimes
somewhat-lame API.
---
date.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/date.c b/date.c
index 2cc533f..ce63bf3 100644
--- a/date.c
+++ b/date.c
@@ -112,7 +112,7 @@ main(const int argc, char *argv[])
cp = argv[optind++];
if (*cp == '+')
if (format == NULL)
- format = cp + 1;
+ format = cp;
else {
fprintf(stderr,
_("date: error: multiple formats in command line\n"));
@@ -186,7 +186,7 @@ display(char const *format, time_t now)
errensure();
return;
}
- timeout(stdout, format ? format : "%+", tmp);
+ timeout(stdout, format ? format : "+%+", tmp);
putchar('\n');
fflush(stdout);
fflush(stderr);
@@ -207,8 +207,6 @@ timeout(FILE *fp, char const *format, struct tm const *tmp)
size_t size;
struct tm tm;
- if (*format == '\0')
- return;
if (!tmp) {
fprintf(stderr, _("date: error: time out of range\n"));
errensure();
@@ -225,13 +223,12 @@ timeout(FILE *fp, char const *format, struct tm const *tmp)
errensure();
exit(retval);
}
- cp[0] = '\1';
result = strftime(cp, size, format, tmp);
- if (result != 0 || cp[0] == '\0')
+ if (result != 0)
break;
size += INCR;
cp = realloc(cp, size);
}
- fwrite(cp, 1, result, fp);
+ fwrite(cp + 1, 1, result - 1, fp);
free(cp);
}
--
1.8.3.1

View File

@ -1,77 +0,0 @@
From 6d25c3e892ff6c75207ddb42c92c32e421b66bca Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 11 Aug 2020 18:55:44 -0700
Subject: [PATCH 26/47] date: simplify format compuation
* date.c (main, display): Simplify as suggested by Robert Elz in:
https://mm.icann.org/pipermail/tz/2020-August/029195.html
---
date.c | 31 +++++++++++++------------------
1 file changed, 13 insertions(+), 18 deletions(-)
diff --git a/date.c b/date.c
index ce63bf3..ef4e4d4 100644
--- a/date.c
+++ b/date.c
@@ -59,8 +59,7 @@ static _Noreturn void usage(void);
int
main(const int argc, char *argv[])
{
- register const char * format;
- register const char * cp;
+ register const char * format = "+%+";
register int ch;
register bool rflag = false;
time_t t;
@@ -77,7 +76,6 @@ main(const int argc, char *argv[])
textdomain(TZ_DOMAIN);
#endif /* HAVE_GETTEXT */
t = time(NULL);
- format = NULL;
while ((ch = getopt(argc, argv, "ucr:")) != EOF && ch != -1) {
switch (ch) {
default:
@@ -108,20 +106,17 @@ main(const int argc, char *argv[])
break;
}
}
- while (optind < argc) {
- cp = argv[optind++];
- if (*cp == '+')
- if (format == NULL)
- format = cp;
- else {
- fprintf(stderr,
-_("date: error: multiple formats in command line\n"));
- usage();
- }
- else {
- fprintf(stderr, _("date: unknown operand: %s\n"), cp);
- usage();
- }
+ if (optind < argc) {
+ if (argc - optind != 1) {
+ fprintf(stderr,
+ _("date: error: multiple operands in command line\n"));
+ usage();
+ }
+ format = argv[optind];
+ if (*format != '+') {
+ fprintf(stderr, _("date: unknown operand: %s\n"), format);
+ usage();
+ }
}
display(format, t);
@@ -186,7 +181,7 @@ display(char const *format, time_t now)
errensure();
return;
}
- timeout(stdout, format ? format : "+%+", tmp);
+ timeout(stdout, format, tmp);
putchar('\n');
fflush(stdout);
fflush(stderr);
--
1.8.3.1

View File

@ -1,38 +0,0 @@
From ac029805c0de56ee3970ad59a8c649c974ea4c4a Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 22 Oct 2020 12:46:17 -0700
Subject: [PATCH 2/6] =?UTF-8?q?*=20etcetera:=20Update=20comment=20in=20the?=
=?UTF-8?q?=20light=20of=20Neil=20Fuller=E2=80=99s=20comments.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
etcetera | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/etcetera b/etcetera
index a1606bd..1dc7411 100644
--- a/etcetera
+++ b/etcetera
@@ -3,12 +3,11 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
-# These entries are mostly present for historical reasons, so that
-# people in areas not otherwise covered by the tz files could "zic -l"
-# to a timezone that was right for their area. These days, the
-# tz files cover almost all the inhabited world, and the only practical
-# need now for the entries that are not on UTC are for ships at sea
-# that cannot use POSIX TZ settings.
+# These entries are for uses not otherwise covered by the tz database.
+# Their main practical use is for platforms like Android that lack
+# support for POSIX-style TZ strings. On such platforms these entries
+# can be useful if the timezone database is wrong or if a ship or
+# aircraft at sea is not in a timezone.
# Starting with POSIX 1003.1-2001, the entries below are all
# unnecessary as settings for the TZ environment variable. E.g.,
--
1.8.3.1

View File

@ -1,79 +0,0 @@
From f8eca4dc2e956099eb21a5597f2a0a7ad00f54c1 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 9 Jun 2020 09:00:54 -0700
Subject: [PATCH 09/47] =?UTF-8?q?*=20europe:=20Add=20Hungaricana=20URLs=20?=
=?UTF-8?q?(thanks=20to=20G=C3=A9za=20Ny=C3=A1ry).?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
europe | 28 ++++++++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/europe b/europe
index c2a44ad..f0acb42 100644
--- a/europe
+++ b/europe
@@ -1521,32 +1521,56 @@ Zone Europe/Athens 1:34:52 - LMT 1895 Sep 14
# Data for 1918-1983 are based on the archive database of Library Hungaricana.
# The dates are collected from original, scanned governmental orders,
# bulletins, instructions and public press.
-# https://library.hungaricana.hu
-# For example, the 1920 dates are from ministerial decree 1920.évi.2.254.
+# [See URLs below.]
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
+# https://library.hungaricana.hu/hu/view/OGYK_RT_1918/?pg=238
+# https://library.hungaricana.hu/hu/view/OGYK_RT_1919/?pg=808
+# https://library.hungaricana.hu/hu/view/OGYK_RT_1920/?pg=201
Rule Hungary 1918 1919 - Apr 15 2:00 1:00 S
Rule Hungary 1918 1920 - Sep Mon>=15 3:00 0 -
Rule Hungary 1920 only - Apr 5 2:00 1:00 S
+# https://library.hungaricana.hu/hu/view/OGYK_RT_1945/?pg=882
Rule Hungary 1945 only - May 1 23:00 1:00 S
Rule Hungary 1945 only - Nov 1 1:00 0 -
+# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1946_03/?pg=49
Rule Hungary 1946 only - Mar 31 2:00s 1:00 S
+# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1946_09/?pg=54
Rule Hungary 1946 only - Oct 7 2:00 0 -
+# https://library.hungaricana.hu/hu/view/KulfBelfHirek_1947_04_1__001-123/?pg=90
+# https://library.hungaricana.hu/hu/view/DunantuliNaplo_1947_09/?pg=128
+# https://library.hungaricana.hu/hu/view/KulfBelfHirek_1948_03_3__001-123/?pg=304
+# https://library.hungaricana.hu/hu/view/Zala_1948_09/?pg=64
+# https://library.hungaricana.hu/hu/view/SatoraljaujhelyiLeveltar_ZempleniNepujsag_1948/?pg=53
+# https://library.hungaricana.hu/hu/view/SatoraljaujhelyiLeveltar_ZempleniNepujsag_1948/?pg=160
+# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1949_09/?pg=94
Rule Hungary 1947 1949 - Apr Sun>=4 2:00s 1:00 S
Rule Hungary 1947 1949 - Oct Sun>=1 2:00s 0 -
+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1954/?pg=513
Rule Hungary 1954 only - May 23 0:00 1:00 S
Rule Hungary 1954 only - Oct 3 0:00 0 -
+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1955/?pg=398
Rule Hungary 1955 only - May 22 2:00 1:00 S
Rule Hungary 1955 only - Oct 2 3:00 0 -
+# https://library.hungaricana.hu/hu/view/HevesMegyeiNepujsag_1956_06/?pg=0
+# https://library.hungaricana.hu/hu/view/EszakMagyarorszag_1956_06/?pg=6
+# https://library.hungaricana.hu/hu/view/SzolnokMegyeiNeplap_1957_04/?pg=120
+# https://library.hungaricana.hu/hu/view/PestMegyeiHirlap_1957_09/?pg=143
Rule Hungary 1956 1957 - Jun Sun>=1 2:00 1:00 S
Rule Hungary 1956 1957 - Sep lastSun 3:00 0 -
+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1980/?pg=1227
Rule Hungary 1980 only - Apr 6 0:00 1:00 S
Rule Hungary 1980 only - Sep 28 1:00 0 -
+# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1981_01/?pg=79
+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1982/?pg=115
+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1983/?pg=85
Rule Hungary 1981 1983 - Mar lastSun 0:00 1:00 S
Rule Hungary 1981 1983 - Sep lastSun 1:00 0 -
+#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Budapest 1:16:20 - LMT 1890 Nov 1
1:00 C-Eur CE%sT 1918
+# https://library.hungaricana.hu/hu/view/OGYK_RT_1941/?pg=1204
1:00 Hungary CE%sT 1941 Apr 7 23:00
1:00 C-Eur CE%sT 1945
1:00 Hungary CE%sT 1984
--
1.8.3.1

View File

@ -1,27 +0,0 @@
From c9e3778253448f5c4b2f3f64e00bcf27fc38d778 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 12 Jun 2020 15:20:56 -0700
Subject: [PATCH 14/47] * europe: Fix minor comment typos in previous change.
---
europe | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/europe b/europe
index e8ec780..4dc159f 100644
--- a/europe
+++ b/europe
@@ -2093,8 +2093,8 @@ Zone Europe/Chisinau 1:55:20 - LMT 1880
# In the "Journal de Monaco" of 1911-03-28, online at
# https://journaldemonaco.gouv.mc/var/jdm/storage/original/application/de74ffb7db53d4f599059fe8f0ed482a.pdf
# we read an ordinance of 1911-03-16: ...
-# [Legal time in the Pricipality will be set, from the date of promulgation
-# of the present ordinance, to legal time in France. Consequently, legal
+# [Legal time in the Principality will be set, from the date of promulgation
+# of the present ordinance, to legal time in France.... Consequently, legal
# time will be retarded by 9 minutes and 21 seconds.]
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
--
1.8.3.1

View File

@ -1,48 +0,0 @@
From dc43ed5887d2b0a881790588097e2d3ca9a0c20a Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 12 Oct 2020 16:50:54 -0700
Subject: [PATCH] =?UTF-8?q?*=20europe=20(Hungary):=20Add=20more=20URLs?=
=?UTF-8?q?=20(thanks=20to=20G=C3=A9za=20Ny=C3=A1ry).?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
europe | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/europe b/europe
index 9b3590f..af6c628 100644
--- a/europe
+++ b/europe
@@ -1589,7 +1589,8 @@ Rule Hungary 1946 only - Oct 7 2:00 0 -
# https://library.hungaricana.hu/hu/view/Zala_1948_09/?pg=64
# https://library.hungaricana.hu/hu/view/SatoraljaujhelyiLeveltar_ZempleniNepujsag_1948/?pg=53
# https://library.hungaricana.hu/hu/view/SatoraljaujhelyiLeveltar_ZempleniNepujsag_1948/?pg=160
-# [URL missing for 1949 DST start]
+# https://library.hungaricana.hu/hu/view/UjSzo_1949_01-04/?pg=102
+# https://library.hungaricana.hu/hu/view/KeletMagyarorszag_1949_03/?pg=96
# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1949_09/?pg=94
Rule Hungary 1947 1949 - Apr Sun>=4 2:00s 1:00 S
Rule Hungary 1947 1949 - Oct Sun>=1 2:00s 0 -
@@ -1605,7 +1606,7 @@ Rule Hungary 1955 only - Oct 2 3:00 0 -
# https://library.hungaricana.hu/hu/view/PestMegyeiHirlap_1957_09/?pg=143
Rule Hungary 1956 1957 - Jun Sun>=1 2:00 1:00 S
Rule Hungary 1956 1957 - Sep lastSun 3:00 0 -
-# [URLs missing for 1980 DST]
+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1980/?pg=189
Rule Hungary 1980 only - Apr 6 0:00 1:00 S
Rule Hungary 1980 only - Sep 28 1:00 0 -
# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1980/?pg=1227
@@ -1619,7 +1620,7 @@ Rule Hungary 1981 1983 - Sep lastSun 1:00 0 -
Zone Europe/Budapest 1:16:20 - LMT 1890 Nov 1
1:00 C-Eur CE%sT 1918
# https://library.hungaricana.hu/hu/view/OGYK_RT_1941/?pg=1204
-# [URL missing for 1942 DST end]
+# https://library.hungaricana.hu/hu/view/OGYK_RT_1942/?pg=3955
1:00 Hungary CE%sT 1941 Apr 7 23:00
1:00 C-Eur CE%sT 1945
1:00 Hungary CE%sT 1984
--
1.8.3.1

View File

@ -1,45 +0,0 @@
From 6a244fd4161d04a9af661df4d51773fdc2c8ddd5 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 11 Oct 2020 10:05:08 -0700
Subject: [PATCH] * europe: Hungary URL comments (thanks to Michael
Deckers).
---
europe | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/europe b/europe
index 32e374a..9b3590f 100644
--- a/europe
+++ b/europe
@@ -1589,6 +1589,7 @@ Rule Hungary 1946 only - Oct 7 2:00 0 -
# https://library.hungaricana.hu/hu/view/Zala_1948_09/?pg=64
# https://library.hungaricana.hu/hu/view/SatoraljaujhelyiLeveltar_ZempleniNepujsag_1948/?pg=53
# https://library.hungaricana.hu/hu/view/SatoraljaujhelyiLeveltar_ZempleniNepujsag_1948/?pg=160
+# [URL missing for 1949 DST start]
# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1949_09/?pg=94
Rule Hungary 1947 1949 - Apr Sun>=4 2:00s 1:00 S
Rule Hungary 1947 1949 - Oct Sun>=1 2:00s 0 -
@@ -1604,9 +1605,10 @@ Rule Hungary 1955 only - Oct 2 3:00 0 -
# https://library.hungaricana.hu/hu/view/PestMegyeiHirlap_1957_09/?pg=143
Rule Hungary 1956 1957 - Jun Sun>=1 2:00 1:00 S
Rule Hungary 1956 1957 - Sep lastSun 3:00 0 -
-# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1980/?pg=1227
+# [URLs missing for 1980 DST]
Rule Hungary 1980 only - Apr 6 0:00 1:00 S
Rule Hungary 1980 only - Sep 28 1:00 0 -
+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1980/?pg=1227
# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1981_01/?pg=79
# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1982/?pg=115
# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1983/?pg=85
@@ -1617,6 +1619,7 @@ Rule Hungary 1981 1983 - Sep lastSun 1:00 0 -
Zone Europe/Budapest 1:16:20 - LMT 1890 Nov 1
1:00 C-Eur CE%sT 1918
# https://library.hungaricana.hu/hu/view/OGYK_RT_1941/?pg=1204
+# [URL missing for 1942 DST end]
1:00 Hungary CE%sT 1941 Apr 7 23:00
1:00 C-Eur CE%sT 1945
1:00 Hungary CE%sT 1984
--
1.8.3.1

View File

@ -1,28 +0,0 @@
From b106a6e844a090abc6debb4d3e9496b5231c0fb4 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 25 Oct 2020 14:43:16 -0700
Subject: [PATCH 5/6] leapseconds now says why NIST, not IERS
* leapseconds.awk: Output a comment about this.
---
leapseconds.awk | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/leapseconds.awk b/leapseconds.awk
index 1d3c606..b6c48bc 100755
--- a/leapseconds.awk
+++ b/leapseconds.awk
@@ -24,6 +24,10 @@ BEGIN {
print "# NIST format leap-seconds.list file, which can be copied from"
print "# <ftp://ftp.nist.gov/pub/time/leap-seconds.list>"
print "# or <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>."
+ print "# The NIST file is used instead of its IERS upstream counterpart"
+ print "# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>"
+ print "# because under US law the NIST file is public domain"
+ print "# whereas the IERS file's copyright and license status is unclear."
print "# For more about leap-seconds.list, please see"
print "# The NTP Timescale and Leap Seconds"
print "# <https://www.eecis.udel.edu/~mills/leap.html>."
--
1.8.3.1

View File

@ -1,25 +0,0 @@
From a499dd6e0836ba149490ca0491aa5363780cdd18 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 25 Nov 2020 10:17:16 -0800
Subject: [PATCH] * northamerica: Add URL for Yukon OIC 1980/02
---
northamerica | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/northamerica b/northamerica
index d5abf21..b9a1348 100644
--- a/northamerica
+++ b/northamerica
@@ -2234,7 +2234,7 @@ Zone America/Creston -7:46:04 - LMT 1884
# to say eight hours behind Greenwich Time.
#
# * O.I.C. 1980/02 INTERPRETATION ACT
-# [no online source found]
+# https://mm.icann.org/pipermail/tz/attachments/20201125/d5adc93b/CAYTOIC1980-02DST1980-01-04-0001.pdf
#
# * Yukon Daylight Saving Time, YOIC 1987/56
# https://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html
--
1.8.3.1

View File

@ -1,133 +0,0 @@
From 8b238ec54c09556eb2aa405c1741eedfd12c4a87 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sat, 8 Aug 2020 12:19:28 -0700
Subject: [PATCH 24/47] strftime: conform better to POSIX+
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The latest POSIX draft specifies errno values for some strftime
errors. Implement those, plus one other one: a reliable way
to determine whether 0 represents failure or buffer exhaustion
(Ill propose this to POSIX).
* newstrftime.3 (RETURN VALUE): Document this.
* strftime.c (strftime): Set errno according to current draft of
POSIX. Also, set errno to ERANGE on overflow, and preserve errno
if there is no error.
(_fmt): Return NULL if %s would be out of range. Callers changed.
---
newstrftime.3 | 34 +++++++++++++++++++++++++++-------
strftime.c | 24 +++++++++++++++++++++++-
2 files changed, 50 insertions(+), 8 deletions(-)
diff --git a/newstrftime.3 b/newstrftime.3
index 63842c7..887aba5 100644
--- a/newstrftime.3
+++ b/newstrftime.3
@@ -82,13 +82,6 @@ and one other character.
No more than
.I maxsize
bytes are placed into the array.
-If the total number of resulting bytes, including the terminating
-NUL character, is not more than
-.IR maxsize ,
-.B strftime
-returns the number of bytes placed into the array, not counting the
-terminating NUL.
-Otherwise, zero is returned and the array contents are unspecified.
.PP
Each conversion specification is replaced by the characters as
follows which are then copied into the array.
@@ -259,6 +252,33 @@ is replaced by a single %.
is replaced by the locale's date and time in
.BR date (1)
format.
+.SH "RETURN VALUE"
+If the conversion is successful,
+.B strftime
+returns the number of bytes placed into the array, not counting the
+terminating NUL;
+.B errno
+is unchanged if the returned value is zero.
+Otherwise,
+.B errno
+is set to indicate the error, zero is returned,
+and the array contents are unspecified.
+.SH ERRORS
+This function fails if:
+.TP
+[ERANGE]
+The total number of resulting bytes, including the terminating
+NUL character, is more than
+.IR maxsize .
+.PP
+This function may fail if:
+.TP
+[EOVERFLOW]
+The format includes an
+.c %s
+conversion and the number of seconds since the Epoch cannot be represented
+in a
+.c time_t .
.SH SEE ALSO
date(1),
getenv(3),
diff --git a/strftime.c b/strftime.c
index 14cbc9a..4f871cd 100644
--- a/strftime.c
+++ b/strftime.c
@@ -130,10 +130,15 @@ size_t
strftime(char *s, size_t maxsize, const char *format, const struct tm *t)
{
char * p;
+ int saved_errno = errno;
enum warn warn = IN_NONE;
tzset();
p = _fmt(format, t, s, s + maxsize, &warn);
+ if (!p) {
+ errno = EOVERFLOW;
+ return 0;
+ }
if (DEPRECATE_TWO_DIGIT_YEARS
&& warn != IN_NONE && getenv(YEAR_2000_NAME)) {
fprintf(stderr, "\n");
@@ -146,9 +151,12 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *t)
else fprintf(stderr, "all locales");
fprintf(stderr, "\n");
}
- if (p == s + maxsize)
+ if (p == s + maxsize) {
+ errno = ERANGE;
return 0;
+ }
*p = '\0';
+ errno = saved_errno;
return p - s;
}
@@ -312,7 +320,21 @@ label:
time_t mkt;
tm = *t;
+ tm.tm_yday = -1;
mkt = mktime(&tm);
+ if (mkt == (time_t) -1) {
+ /* Fail unless this -1 represents
+ a valid time. */
+ struct tm tm_1;
+ if (!localtime_r(&mkt, &tm_1))
+ return NULL;
+ if (!(tm.tm_year == tm_1.tm_year
+ && tm.tm_yday == tm_1.tm_yday
+ && tm.tm_hour == tm_1.tm_hour
+ && tm.tm_min == tm_1.tm_min
+ && tm.tm_sec == tm_1.tm_sec))
+ return NULL;
+ }
if (TYPE_SIGNED(time_t))
sprintf(buf, "%"PRIdMAX,
(intmax_t) mkt);
--
1.8.3.1

View File

@ -1,29 +0,0 @@
From abbe4eeee3ab2db0103df064f6ae99abe019200e Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 21 Sep 2020 11:03:44 -0700
Subject: [PATCH 33/47] * tz-art.html: Add Mr. Monk (thanks to Arthur David
Olson).
---
tz-art.html | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tz-art.html b/tz-art.html
index 93a99e4..5de546a 100644
--- a/tz-art.html
+++ b/tz-art.html
@@ -109,6 +109,11 @@ premonition in the "We Had a Dream" episode of <em>Medium</em>
(originally aired 2007-02-28).
</li>
<li>
+A criminal's failure to account for the start of daylight saving is pivotal
+in "<a href="https://monk.fandom.com/wiki/Mr._Monk_and_the_Rapper">Mr. Monk
+and the Rapper</a>" (first aired 2007-07-20).
+</li>
+<li>
In the <em>30 Rock</em> episode "Anna Howard Shaw Day"
(first broadcast 2010-02-11),
Jack Donaghy's date realizes that a Geneva-to-New-York business phone call
--
1.8.3.1

View File

@ -1,35 +0,0 @@
From afc53e03ff8df4fe8a55532a563ce1a11cbea6d0 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 21 Sep 2020 13:36:19 -0700
Subject: [PATCH 35/47] * tz-link.html: Cite PyPI tzdata (thanks to Paul
Ganssle).
---
tz-link.html | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tz-link.html b/tz-link.html
index 94aa5f5..b634082 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -581,11 +581,15 @@ It is freely available under the same terms as Perl
(dual <abbr>GPL</abbr> and Artistic license).</li>
<li>Python has a <a
href="https://docs.python.org/3.9/library/zoneinfo.html"><code>zoneinfo.ZoneInfo</code>
-class</a> that reads <abbr>TZif</abbr> files and creates objects
+class</a> that reads <abbr>TZif</abbr> data and creates objects
that represent <code><abbr>tzdb</abbr></code> timezones.
Python is freely available under the
<a href="https://docs.python.org/3.9/license.html">Python Software Foundation
-License</a>.</li>
+License</a>.
+A companion <a href="https://pypi.org/">PyPI</a> module
+<a href="https://pypi.org/project/tzdata/"><code>tzdata</code></a>
+supplies TZif data if the underlying system data cannot be found;
+it is freely available under the Apache License.</li>
<li>The
public-domain <a href="https://github.com/dbaron/tz.js">tz.js</a>
library contains a Python tool that
--
1.8.3.1

View File

@ -1,31 +0,0 @@
From 2c431bd71c0f2f994f22d0b1e77e9f740abdd680 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 21 Sep 2020 11:44:34 -0700
Subject: [PATCH 34/47] * tz-link.html: Cite Python 3.9 (thanks to Matt
Johnson-Pint).
---
tz-link.html | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/tz-link.html b/tz-link.html
index e6e4acd..94aa5f5 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -579,6 +579,13 @@ DateTime::TimeZone::Tzfile</a>
is a <abbr>TZif</abbr> file reader written in Perl.
It is freely available under the same terms as Perl
(dual <abbr>GPL</abbr> and Artistic license).</li>
+<li>Python has a <a
+href="https://docs.python.org/3.9/library/zoneinfo.html"><code>zoneinfo.ZoneInfo</code>
+class</a> that reads <abbr>TZif</abbr> files and creates objects
+that represent <code><abbr>tzdb</abbr></code> timezones.
+Python is freely available under the
+<a href="https://docs.python.org/3.9/license.html">Python Software Foundation
+License</a>.</li>
<li>The
public-domain <a href="https://github.com/dbaron/tz.js">tz.js</a>
library contains a Python tool that
--
1.8.3.1

View File

@ -1,26 +0,0 @@
From cb2d288ae0bb3aa5fb7cc94480ea955ff76bd183 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 7 Sep 2020 13:07:58 -0700
Subject: [PATCH 31/47] * tz-link.html: Cite TZDIST list. (Thanks to Michael
Douglass.)
---
tz-link.html | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tz-link.html b/tz-link.html
index 6dcb654..dfdaece 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -345,6 +345,8 @@ href="https://tools.ietf.org/html/rfc7808">TZDIST</a>
along with <a href="https://tools.ietf.org/html/rfc7809">CalDAV</a>
(Internet <abbr>RFC</abbr> 7809), a calendar access protocol for
transferring time zone data by reference.
+<a href="https://devguide.calconnect.org/Time-Zones/TZDS/">TZDIST
+implementations</a> are available.
The <a href="https://www.ietf.org/mailman/listinfo/tzdist-bis">tzdist-bis
mailing list</a> discussed the Internet draft <a
id="TZDIST-Geolocate"
--
1.8.3.1

View File

@ -1,25 +0,0 @@
From 65f1deaca0e16b876d8552a8d541c2ef37f58103 Mon Sep 17 00:00:00 2001
From: Tim Parenti <tim@timtimeonline.com>
Date: Wed, 21 Oct 2020 12:16:45 -0400
Subject: [PATCH] * tz-link.html: Fix typo
---
tz-link.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tz-link.html b/tz-link.html
index a0e35a0..10c40b5 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -591,7 +591,7 @@ that represent <code><abbr>tzdb</abbr></code> timezones.
Python is freely available under the
<a href="https://docs.python.org/3.9/license.html">Python Software Foundation
License</a>.
-A companion <a id="pypi-tzdata"> href="https://pypi.org/">PyPI</a> module
+A companion <a id="pypi-tzdata" href="https://pypi.org/">PyPI</a> module
<a href="https://pypi.org/project/tzdata/"><code>tzdata</code></a>
supplies TZif data if the underlying system data cannot be found;
it is freely available under the Apache License.</li>
--
1.8.3.1

View File

@ -1,49 +0,0 @@
From a47ef9c7168557c0dfdfd003cf970ccd6f25a57c Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu, 12 Nov 2020 14:52:22 -0800
Subject: [PATCH] * tz-link.html: Use <abbr> more systematically.
Document "right" seconds better
* tz-link.html (Precision timekeeping):
Clarify "right" vs "posix" time_t.
---
tz-link.html | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/tz-link.html b/tz-link.html
index eb4a235..56ef9e4 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -1039,14 +1039,16 @@ via an optional "<code>right</code>" configuration where a computer's internal
as opposed to the default "<code>posix</code>" configuration
where the internal clock ignores leap seconds.
The two configurations agree for timestamps starting with 1972-01-01 00:00:00
-UTC (<code>time_t</code> 63&thinsp;072&thinsp;000) and diverge for
+<abbr>UTC</abbr> (<code>time_t</code> 63&thinsp;072&thinsp;000) and diverge for
timestamps starting with <code>time_t</code> 78&thinsp;796&thinsp;800,
which corresponds to the first leap second
-1972-06-30 23:59:60 UTC in the "<code>right</code>" configuration, and to
-1972-07-01 00:00:00 UTC in the "<code>posix</code>" configuration.
+1972-06-30 23:59:60 <abbr>UTC</abbr> in the "<code>right</code>" configuration,
+and to
+1972-07-01 00:00:00 <abbr>UTC</abbr> in the "<code>posix</code>" configuration.
In practice the two configurations also agree for timestamps before
1972 even though the historical situation is messy, partly because
-neither UTC nor TAI is well-defined for sufficiently-old timestamps.</li>
+neither <abbr>UTC</abbr> nor <abbr>TAI</abbr>
+is well-defined for sufficiently-old timestamps.</li>
<li><a href="https://developers.google.com/time/smear">Leap Smear</a>
discusses how to gradually adjust <abbr>POSIX</abbr> clocks near a
leap second so that they disagree with <abbr>UTC</abbr> by at most a
@@ -1059,7 +1061,7 @@ cloud service providers. However, according to
<a href="https://tools.ietf.org/html/rfc8633#section-3.7.1">&sect;3.7.1 of
Network Time Protocol Best Current Practices</a>
(Internet <abbr>RFC</abbr> 8633), leap smearing is not suitable for
-applications requiring accurate UTC or civil time,
+applications requiring accurate <abbr>UTC</abbr> or civil time,
and is intended for use only in single, well-controlled environments.</li>
<li>The <a
href="https://pairlist6.pair.net/mailman/listinfo/leapsecs">Leap
--
1.8.3.1

View File

@ -1,94 +0,0 @@
From 180f76a2d41e1cea2895455f080f486b1d259279 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 12 Jun 2020 23:44:54 -0700
Subject: [PATCH 15/47] =?UTF-8?q?zic=20has=20new=20=E2=80=98-l=20-?=
=?UTF-8?q?=E2=80=99=20and=20=E2=80=98-p=20-=E2=80=99=20options?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* NEWS, zic.8: Mention this.
* zic.c (dolink): If fromfield is "-", simply remove tofield.
---
NEWS | 3 +++
zic.8 | 12 ++++++++++++
zic.c | 5 ++++-
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 3bcddd0..cdcdbc1 100644
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,9 @@ Unreleased, experimental changes
Changes to code
+ zic's new '-l -' and '-p -' options uninstall any existing
+ localtime and posixrules files, respectively.
+
The undocumented and ineffective tzsetwall function has been
removed.
diff --git a/zic.8 b/zic.8
index b1bf437..a431311 100644
--- a/zic.8
+++ b/zic.8
@@ -85,6 +85,12 @@ will act as if the input contained a link line of the form
.ti +.5i
.ta \w'Link\0\0'u +\w'\fItimezone\fP\0\0'u
Link \fItimezone\fP localtime
+.sp
+If
+.I timezone
+is
+.BR \*- ,
+any already-existing link is removed.
.TP
.BI "\*-L " leapsecondfilename
Read leap second information from the file with the given name.
@@ -109,6 +115,12 @@ and it should not be combined with
if
.IR timezone 's
transitions are at standard time or Universal Time (UT) instead of local time.
+.sp
+If
+.I timezone
+is
+.BR \*- ,
+any already-existing link is removed.
.TP
.BR "\*-r " "[\fB@\fP\fIlo\fP][\fB/@\fP\fIhi\fP]"
Reduce the size of output files by limiting their applicability
diff --git a/zic.c b/zic.c
index 2875b55..c874b04 100644
--- a/zic.c
+++ b/zic.c
@@ -981,6 +981,7 @@ hardlinkerr(char const *from, char const *to)
static void
dolink(char const *fromfield, char const *tofield, bool staysymlink)
{
+ bool remove_only = strcmp(fromfield, "-") == 0;
bool todirs_made = false;
int link_errno;
@@ -988,7 +989,7 @@ dolink(char const *fromfield, char const *tofield, bool staysymlink)
** We get to be careful here since
** there's a fair chance of root running us.
*/
- if (itsdir(fromfield)) {
+ if (!remove_only && itsdir(fromfield)) {
fprintf(stderr, _("%s: link from %s/%s failed: %s\n"),
progname, directory, fromfield, strerror(EPERM));
exit(EXIT_FAILURE);
@@ -1003,6 +1004,8 @@ dolink(char const *fromfield, char const *tofield, bool staysymlink)
progname, directory, tofield, e);
exit(EXIT_FAILURE);
}
+ if (remove_only)
+ return;
link_errno = staysymlink ? ENOTSUP : hardlinkerr(fromfield, tofield);
if (link_errno == ENOENT && !todirs_made) {
mkdirs(tofield, true);
--
1.8.3.1

View File

@ -1,124 +0,0 @@
From 6ba6f2117b95eab345a7ed9159cef939e30c4cd3 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 21 Jun 2020 14:49:03 -0700
Subject: [PATCH 17/47] =?UTF-8?q?zic=20now=20defaults=20to=20=E2=80=98-b?=
=?UTF-8?q?=20slim=E2=80=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Make zics -b slim option the default. This option first
appeared in tzdb 2019b (2019-07-01), and is already the default in
NetBSD 9.0 (2020-02-14) and seems to be working there. Using
slim format should help finish off the TZif formats Y2038
transition that began in tzcode 95f (1995-10-28).
* Makefile, NEWS, zic.8: Mention this.
* zic.c (ZIC_BLOAT_DEFAULT): Default to "slim".
---
Makefile | 10 +++++-----
NEWS | 2 ++
zic.8 | 10 ++++------
zic.c | 5 ++---
4 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/Makefile b/Makefile
index 0da7c3f..8abd4d0 100644
--- a/Makefile
+++ b/Makefile
@@ -22,6 +22,7 @@ BUGEMAIL= tz@iana.org
# DATAFORM= main
# To wait even longer for new features, use:
# DATAFORM= rearguard
+# Rearguard users might also want "ZFLAGS = -b fat"; see below.
DATAFORM= main
# Change the line below for your timezone (after finding the one you want in
@@ -249,13 +250,12 @@ LDLIBS=
# other than simply getting garbage data
# -DUSE_LTZ=0 to build zdump with the system time zone library
# Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below.
-# -DZIC_BLOAT_DEFAULT=\"slim\" to default zic's -b option to "slim", and
-# similarly for "fat". Fat TZif files work around incompatibilities
+# -DZIC_BLOAT_DEFAULT=\"fat\" to default zic's -b option to "fat", and
+# similarly for "slim". Fat TZif files work around incompatibilities
# and bugs in some TZif readers, notably readers that mishandle 64-bit
# data in TZif files. Slim TZif files are more efficient and do not
# work around these incompatibilities and bugs. If not given, the
-# current default is "fat" but this is intended to change as readers
-# requiring fat files often mishandle timestamps after 2037 anyway.
+# default is "slim".
# -DZIC_MAX_ABBR_LEN_WO_WARN=3
# (or some other number) to set the maximum time zone abbreviation length
# that zic will accept without a warning (the default is 6)
@@ -390,7 +390,7 @@ ZIC= $(zic) $(ZFLAGS)
# To shrink the size of installed TZif files,
# append "-r @N" to omit data before N-seconds-after-the-Epoch.
-# You can also append "-b slim" if that is not already the default;
+# To grow the files and work around older application bugs, append "-b fat";
# see ZIC_BLOAT_DEFAULT above.
# See the zic man page for more about -b and -r.
ZFLAGS=
diff --git a/NEWS b/NEWS
index bfe02ea..6b9fd43 100644
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,8 @@ Unreleased, experimental changes
Changes to code
+ zic now defaults to '-b slim' instead of to '-b fat'.
+
zic's new '-l -' and '-p -' options uninstall any existing
localtime and posixrules files, respectively.
diff --git a/zic.8 b/zic.8
index a431311..8d34368 100644
--- a/zic.8
+++ b/zic.8
@@ -61,15 +61,13 @@ is
.BR slim ,
keep the output files small; this can help check for the bugs
and incompatibilities.
-Although the default is currently
-.BR fat ,
-this is intended to change in future
-.B zic
-versions, as software that mishandles the 64-bit data typically
+The default is
+.BR slim ,
+as software that mishandles 64-bit data typically
mishandles timestamps after the year 2038 anyway.
Also see the
.B \*-r
-option for another way to shrink output size.
+option for another way to alter output size.
.TP
.BI "\*-d " directory
Create time conversion information files in the named directory rather than
diff --git a/zic.c b/zic.c
index c874b04..3aed819 100644
--- a/zic.c
+++ b/zic.c
@@ -661,8 +661,7 @@ static const char * tzdefault;
static const char * yitcommand;
/* -1 if the TZif output file should be slim, 0 if default, 1 if the
- output should be fat for backward compatibility. Currently the
- default is fat, although this may change. */
+ output should be fat for backward compatibility. The default is slim. */
static int bloat;
static bool
@@ -672,7 +671,7 @@ want_bloat(void)
}
#ifndef ZIC_BLOAT_DEFAULT
-# define ZIC_BLOAT_DEFAULT "fat"
+# define ZIC_BLOAT_DEFAULT "slim"
#endif
int
--
1.8.3.1

View File

@ -1,39 +0,0 @@
From 27264eae807d894ba0f889e90756281194855540 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 11 Oct 2020 11:02:35 -0700
Subject: [PATCH] * ziguard.awk: Add limitations commentary.
---
ziguard.awk | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/ziguard.awk b/ziguard.awk
index e8ef49e..e27e799 100644
--- a/ziguard.awk
+++ b/ziguard.awk
@@ -3,6 +3,13 @@
# Contributed by Paul Eggert. This file is in the public domain.
# This is not a general-purpose converter; it is designed for current tzdata.
+# It just converts from current source to main, vanguard, and rearguard forms.
+# Although it might be nice for it to be idempotent, or to be useful
+# for converting back and forth between vanguard and rearguard formats,
+# it does not do these nonessential tasks now.
+#
+# Although main and vanguard forms are currently equivalent,
+# this need not always be the case.
#
# When converting to vanguard form, the output can use negative SAVE
# values.
@@ -28,7 +35,7 @@ DATAFORM != "main" {
in_comment = /^#/
uncomment = comment_out = 0
- # If the line should differ due to Czechoslovakia using negative SAVE values,
+ # If this line should differ due to Czechoslovakia using negative SAVE values,
# uncomment the desired version and comment out the undesired one.
if (zone == "Europe/Prague" && /1947 Feb 23/) {
if (($(in_comment + 2) != "-") == vanguard) {
--
1.8.3.1

Binary file not shown.

BIN
tzcode2021a.tar.gz Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More