[tz] [PROPOSED 1/2] Czechs had negative DST in 1946/7

Paul Eggert eggert at cs.ucla.edu
Sat Apr 14 23:05:47 UTC 2018


* NEWS: Document this.
* europe (Czech): Adjust 1945 transition dates to match new source.
(Europe/Prague): Likewise.  Add negative DST in 1946/7.
* tz-link.html: Link to kalendar.beda.cz.
* ziguard.awk: Adjust to Czech changes.
---
 NEWS         |  6 ++++++
 europe       | 24 +++++++++++++++++++++---
 tz-link.html |  4 ++++
 ziguard.awk  | 10 ++++++++++
 4 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 17492b3..13652fc 100644
--- a/NEWS
+++ b/NEWS
@@ -29,6 +29,12 @@ Unreleased, experimental changes
     format; in rearguard and main format, the tm_isdst flag is still
     zero in winter and nonzero in summer.
 
+    In 1946/7 Czechoslovakia also observed negative DST in winter.
+    The full effect of this change is only in vanguard format; in
+    rearguard and main formats, it is modeled as plain GMT without
+    daylight saving.  Also, the dates of some 1944/5 DST transitions
+    in Czechoslovakia have been changed.
+
 
 Release 2018d - 2018-03-22 07:05:46 -0700
 
diff --git a/europe b/europe
index 20eb4e8..5edb686 100644
--- a/europe
+++ b/europe
@@ -970,9 +970,21 @@ Zone	Europe/Sofia	1:33:16 -	LMT	1880
 # Please see the 'asia' file for Asia/Nicosia.
 
 # Czech Republic / Czechia
+#
+# From Paul Eggert (2018-04-14):
+# The source for Czech data is: Kdy začíná a končí letní čas.
+# https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas
+# with one correction, taken from:
+# Sbírka zákonů a nařízení republiky Československé, částka 92/1946.
+# http://ftp.aspi.cz/opispdf/1946/092-1946.pdf
+# which says that the winter time (negative DST) starting 1946-12-01
+# was a switch from 03:00 to 02:00 (not from 02:00 to 01:00).
+# We know of no English-language name for historical Czech winter time;
+# abbreviate it as "GMT", as it happened to be GMT.
+#
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-Rule	Czech	1945	only	-	Apr	 8	2:00s	1:00	S
-Rule	Czech	1945	only	-	Nov	18	2:00s	0	-
+Rule	Czech	1945	only	-	Apr	Mon>=1	2:00s	1:00	S
+Rule	Czech	1945	only	-	Oct	 1	2:00s	0	-
 Rule	Czech	1946	only	-	May	 6	2:00s	1:00	S
 Rule	Czech	1946	1949	-	Oct	Sun>=1	2:00s	0	-
 Rule	Czech	1947	only	-	Apr	20	2:00s	1:00	S
@@ -981,7 +993,13 @@ Rule	Czech	1949	only	-	Apr	 9	2:00s	1:00	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Europe/Prague	0:57:44 -	LMT	1850
 			0:57:44	-	PMT	1891 Oct    # Prague Mean Time
-			1:00	C-Eur	CE%sT	1944 Sep 17  2:00s
+			1:00	C-Eur	CE%sT	1945 May  9
+			1:00	Czech	CE%sT	1946 Dec  1  3:00
+# Vanguard section, for zic and other parsers that support negative DST.
+#			1:00	-1:00	GMT	1947 Feb 23  2:00
+# Rearguard section, for parsers that do not support negative DST.
+			0:00	-	GMT	1947 Feb 23  2:00
+# End of rearguard section.
 			1:00	Czech	CE%sT	1979
 			1:00	EU	CE%sT
 # Use Europe/Prague also for Slovakia.
diff --git a/tz-link.html b/tz-link.html
index 6700c7f..13a824d 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -728,6 +728,10 @@ zones & daylight saving time</a>.</dd>
 <dd>The Hydrographic and Oceanographic Service of the Chilean Navy publishes a
 <a href="http://www.horaoficial.cl/historia_hora.html" hreflang="es">history of
 Chile's official time (in Spanish)</a>.</dd>
+<dt>Czech Republic</dt>
+<dd><a href="https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas"
+hreflang="cs">When daylight saving time starts and ends (in Czech)</a>
+summarizes and cites historical DST regulations.</dd>
 <dt>Germany</dt>
 <dd>The National Institute for Science and Technology maintains the <a
 href="https://www.ptb.de/cms/en/fachabteilungen/abt4/fb-44/ag-441/realisation-of-legal-time-in-germany.html">Realisation
diff --git a/ziguard.awk b/ziguard.awk
index 5bfaebb..7cdceab 100644
--- a/ziguard.awk
+++ b/ziguard.awk
@@ -28,6 +28,16 @@ outfile != "main.zi" {
   in_comment = /^#/
   uncomment = comment_out = 0
 
+  # If the 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) {
+      uncomment = in_comment
+    } else {
+      comment_out = !in_comment
+    }
+  }
+
   # If this line should differ due to Ireland using negative SAVE values,
   # uncomment the desired version and comment out the undesired one.
   Rule_Eire = /^#?Rule[\t ]+Eire[\t ]/
-- 
2.7.4



More information about the tz mailing list