This set of changes is so experimental that I have not installed it
into the development repository. I am circulating it to give people a
heads-up for the sort of tzdb changes that are likely to occur if the
recent European Commission proposal becomes official.
Comments are welcome; please send them to tz@iana.org.
* NEWS: Mention this.
* africa (Africa/Cairo, Africa/Tripoli, Africa/El_Aaiun)
(Africa/Tunis):
* asia (Asia/Amman, Asia/Beirut, Asia/Gaza, Asia/Hebron)
(Asia/Damascus):
* europe (Europe/Kaliningrad):
Switch from "WET"/"CET"/"EET" to numeric offsets around
2019-03-31. This sort of thing is also done in the other
entries noted below, which have other stuff going on too.
* africa (Africa/Casablanca):
* asia (Asia/Nicosia, Asia/Famagusta):
* backzone (Europe/Ljubljana, Europe/Sarajevo, Europe/Skopje)
(Europe/Vaduz, Europe/Zagreb):
* europe (Europe/Tirane, Europe/Andorra, Europe/Vienna)
(Europe/Brussels, Europe/Sofia, Europe/Prague, Europe/Copenhagen)
(Atlantic/Faroe, America/Scoresbysund, America/Godthab)
(Europe/Tallinn, Europe/Helsinki, Europe/Paris, Europe/Berlin)
(Europe/Athens, Europe/Budapest, Europe/Rome, Europe/Riga)
(Europe/Vilnius, Europe/Luxembourg, Europe/Malta, Europe/Monaco)
(Europe/Amsterdam, Europe/Oslo, Europe/Lisbon, Atlantic/Azores)
(Atlantic/Madeira, Europe/Bucharest, Europe/Belgrade, Europe/Madrid)
(Africa/Ceuta, Atlantic/Canary, Europe/Stockholm, Europe/Zurich)
(Europe/Kiev, Europe/Uzhgorod, Europe/Zaporozhye):
Assume these locations will not exercise the draft directive’s
option, and so will move their time zone one hour east.
* asia (EUAsia, E-EurAsia): Stay in sync with EU and E-Eur rules
in ‘europe’.
* backzone (Europe/Belfast, Europe/Guernsey, Europe/Isle_of_Man):
* europe (Europe/London, Europe/Gibraltar): Assume the UK, Crown
dependencies and Gibraltar will roll along as before.
* europe (UK): New rule.
(Eire, EU, W-Eur, C-Eur): Stop DST in 2019.
(Europe/Dublin): Switch to plain IST (a standard time) in 2019.
(America/Danmarkshavn): Use numeric abbreviation for consistency
with other locations in Greenland.
* zic.8: Adjust example to match new data.
* ziguard.awk (Zone_Dublin_post_1968): No longer a need for
special treatment for last line of Dublin zone.
---
NEWS | 55 +++++++++++++++++++
africa | 36 ++++++------
asia | 31 +++++++----
backzone | 27 ++++++---
europe | 154 ++++++++++++++++++++++++++++++++++------------------
zic.8 | 19 +++++--
ziguard.awk | 2 +-
7 files changed, 223 insertions(+), 101 deletions(-)
diff --git a/NEWS b/NEWS
index 99040dc..ba0772b 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,61 @@ Unreleased, experimental changes
Changes to future timestamps
+ The European Commission has proposed to end DST in March 2019. See:
+ https://ec.europa.eu/commission/priorities/state-union-speeches/state-union-2018/state-union-2018-ending-seasonal-clock-changes_en
+ Under this proposal, EU member states will advance their clocks by
+ an hour at 2019-03-31 01:00 UTC as usual, and will have the option
+ to move their clocks back an hour at 2019-10-27 01:00 UTC; member
+ states must announce by 2019-03-31 whether they are taking the
+ option. After 2019-10-27 no seasonal changes will be permitted;
+ member states can make one-off changes but must give six months'
+ notice. (Thanks to Even Scharning for the URL and for Clive
+ D.W. Feather for summarizing the proposal.) For now, make the
+ following guesses about how this proposal will play out (and
+ please remember that these are just guesses, some of which will
+ surely be wrong):
+
+ * The European Parliament and the Council will approve the proposal.
+
+ * No member state will exercise the option of moving clocks back
+ on 2019-10-27.
+
+ * Every member state but Ireland will therefore make its last
+ transition by advancing standard time by an hour (i.e., moving
+ east by one time zone) on 2019-03-31.
+
+ * Ireland's usual transition from winter to standard time on
+ 2019-03-31 will be its last transition.
+
+ * The following nearby countries that use EU or near-EU rules
+ will also stop using DST and move east one time zone:
+ Albania, Andorra, Bosnia & Herzegovina, Bulgaria, Croatia, the
+ Czech Republic, the Faroes, most of Greenland, Liechtenstein,
+ (Northern) Macedonia, Moldova, Monaco, Montenegro, Morocco,
+ Norway, Romania, San Marino, Serbia, Switzerland, Ukraine,
+ Vatican City, and Western Sahara.
+
+ * Brexit will occur at 2019-03-29 23:00 UTC, and DST will continue
+ to be observed in the UK, the Crown dependencies and Gibraltar.
+
+ * Akrotiri and Dhekelia (which do not have separate tzdb entries)
+ will continue to track Nicosia.
+
+ * Use numeric offsets for abbreviations in the new zones, as it is
+ too early to know what English-language abbreviations (if any)
+ will be used. For example, if Spain stays at +02 all year, it's
+ not clear whether people will call its time "Eastern European
+ Time" (a geographic misnomer) or some other name. Although
+ eventually we should be consistent about time zone abbreviations
+ used for past and modern timestamps, for now let's leave the
+ abbreviations alone for timestamps before 2019-03-31.
+
+ * However, the backward-compatibility zones WET, CET, MET, and EET
+ will keep their UTC offsets and traditional abbreviations, and
+ will observe DST as before in 2019 and will stay on standard
+ time thereafter, so that they can remain fallbacks for
+ traditionalists.
+
Fiji ends DST 2019-01-13 instead of the 2019-01-20 previously
predicted. (Thanks to Raymond Kumar.) Adjust future predictions
accordingly.
diff --git a/africa b/africa
index 555052b..9013b30 100644
--- a/africa
+++ b/africa
@@ -99,7 +99,8 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
0:00 Algeria WE%sT 1977 Oct 21
1:00 Algeria CE%sT 1979 Oct 26
0:00 Algeria WE%sT 1981 May
- 1:00 - CET
+ 1:00 - CET 2019 Mar 31 1:00u
+ 1:00 - +01
# Angola
# Benin
@@ -358,7 +359,8 @@ Rule Egypt 2014 only - Sep lastThu 24:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
- 2:00 Egypt EE%sT
+ 2:00 Egypt EE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Equatorial Guinea
# See Africa/Lagos.
@@ -525,7 +527,8 @@ Zone Africa/Tripoli 0:52:44 - LMT 1920
1:00 Libya CE%sT 1997 Oct 4
2:00 - EET 2012 Nov 10 2:00
1:00 Libya CE%sT 2013 Oct 25 2:00
- 2:00 - EET
+ 2:00 - EET 2019 Mar 31 1:00u
+ 2:00 - +02
# Madagascar
# See Africa/Nairobi.
@@ -869,6 +872,9 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
# (setq islamic-year (+ 1 islamic-year))))
+# From Paul Eggert (2019-09-15):
+# Guess Morocco will stop observing DST in 2019, along with the EU,
+# so omit the above program's output after 2018.
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@@ -901,7 +907,7 @@ Rule Morocco 2012 only - Aug 20 2:00 1:00 S
Rule Morocco 2012 only - Sep 30 3:00 0 -
Rule Morocco 2013 only - Jul 7 3:00 0 -
Rule Morocco 2013 only - Aug 10 2:00 1:00 S
-Rule Morocco 2013 max - Oct lastSun 3:00 0 -
+Rule Morocco 2013 2018 - Oct lastSun 3:00 0 -
Rule Morocco 2014 2021 - Mar lastSun 2:00 1:00 S
Rule Morocco 2014 only - Jun 28 3:00 0 -
Rule Morocco 2014 only - Aug 2 2:00 1:00 S
@@ -913,25 +919,13 @@ Rule Morocco 2017 only - May 21 3:00 0 -
Rule Morocco 2017 only - Jul 2 2:00 1:00 S
Rule Morocco 2018 only - May 13 3:00 0 -
Rule Morocco 2018 only - Jun 17 2:00 1:00 S
-Rule Morocco 2019 only - May 5 3:00 0 -
-Rule Morocco 2019 only - Jun 9 2:00 1:00 S
-Rule Morocco 2020 only - Apr 19 3:00 0 -
-Rule Morocco 2020 only - May 24 2:00 1:00 S
-Rule Morocco 2021 only - Apr 11 3:00 0 -
-Rule Morocco 2021 only - May 16 2:00 1:00 S
-Rule Morocco 2022 only - May 8 2:00 1:00 S
-Rule Morocco 2023 only - Apr 23 2:00 1:00 S
-Rule Morocco 2024 only - Apr 14 2:00 1:00 S
-Rule Morocco 2025 only - Apr 6 2:00 1:00 S
-Rule Morocco 2026 max - Mar lastSun 2:00 1:00 S
-Rule Morocco 2036 only - Oct 19 3:00 0 -
-Rule Morocco 2037 only - Oct 4 3:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
0:00 Morocco WE%sT 1984 Mar 16
1:00 - CET 1986
- 0:00 Morocco WE%sT
+ 0:00 Morocco WE%sT 2019 Mar 31 1:00u
+ 1:00 - +01
# Western Sahara
#
@@ -946,7 +940,8 @@ Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
-1:00 - -01 1976 Apr 14
- 0:00 Morocco WE%sT
+ 0:00 Morocco WE%sT 2019 Mar 31 1:00u
+ 0:00 Morocco +00/+01
# Mozambique
#
@@ -1286,7 +1281,8 @@ Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
- 1:00 Tunisia CE%sT
+ 1:00 Tunisia CE%sT 2019 Mar 31 1:00u
+ 1:00 - +01
# Uganda
# See Africa/Nairobi.
diff --git a/asia b/asia
index 5e27d85..5a97b9e 100644
--- a/asia
+++ b/asia
@@ -71,12 +71,12 @@
# These rules are stolen from the 'europe' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-Rule EUAsia 1981 max - Mar lastSun 1:00u 1:00 S
+Rule EUAsia 1981 2019 - Mar lastSun 1:00u 1:00 S
Rule EUAsia 1979 1995 - Sep lastSun 1:00u 0 -
-Rule EUAsia 1996 max - Oct lastSun 1:00u 0 -
-Rule E-EurAsia 1981 max - Mar lastSun 0:00 1:00 -
+Rule EUAsia 1996 2019 - Oct lastSun 1:00u 0 -
+Rule E-EurAsia 1981 2019 - Mar lastSun 0:00 1:00 -
Rule E-EurAsia 1979 1995 - Sep lastSun 0:00 0 -
-Rule E-EurAsia 1996 max - Oct lastSun 0:00 0 -
+Rule E-EurAsia 1996 2019 - Oct lastSun 0:00 0 -
Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 -
Rule RussiaAsia 1981 1983 - Oct 1 0:00 0 -
Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 -
@@ -944,12 +944,14 @@ Rule Cyprus 1981 1998 - Mar lastSun 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Nicosia 2:13:28 - LMT 1921 Nov 14
2:00 Cyprus EE%sT 1998 Sep
- 2:00 EUAsia EE%sT
+ 2:00 EUAsia EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14
2:00 Cyprus EE%sT 1998 Sep
2:00 EUAsia EE%sT 2016 Sep 8
- 3:00 - +03 2017 Oct 29 1:00u
- 2:00 EUAsia EE%sT
+ 3:00 - +03 2017 Oct 29 1:00u
+ 2:00 EUAsia EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Classically, Cyprus belongs to Asia; e.g. see Herodotus, Histories, I.72.
# However, for various reasons many users expect to find it under Europe.
@@ -1750,7 +1752,8 @@ Rule Jordan 2014 max - Mar lastThu 24:00 1:00 S
Rule Jordan 2014 max - Oct lastFri 0:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Amman 2:23:44 - LMT 1931
- 2:00 Jordan EE%sT
+ 2:00 Jordan EE%sT 2019 Mar 28 24:00
+ 2:00 Jordan +02/+03
# Kazakhstan
@@ -2190,7 +2193,8 @@ Rule Lebanon 1993 1998 - Sep lastSun 0:00 0 -
Rule Lebanon 1999 max - Oct lastSun 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Beirut 2:22:00 - LMT 1880
- 2:00 Lebanon EE%sT
+ 2:00 Lebanon EE%sT 2019 Mar 31 0:00
+ 2:00 Lebanon +02/+03
# Malaysia
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@@ -2866,14 +2870,16 @@ Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
2:00 - EET 2010 Mar 27 0:01
2:00 Palestine EE%sT 2011 Aug 1
2:00 - EET 2012
- 2:00 Palestine EE%sT
+ 2:00 Palestine EE%sT 2019 Mar 23 1:00
+ 2:00 Palestine +02/+03
Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
2:00 Zion EET/EEST 1948 May 15
2:00 EgyptAsia EE%sT 1967 Jun 5
2:00 Zion I%sT 1996
2:00 Jordan EE%sT 1999
- 2:00 Palestine EE%sT
+ 2:00 Palestine EE%sT 2019 Mar 23 1:00
+ 2:00 Palestine +02/+03
# Paracel Is
# no information
@@ -3224,7 +3230,8 @@ Rule Syria 2009 max - Oct lastFri 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Damascus 2:25:12 - LMT 1920 # Dimashq
- 2:00 Syria EE%sT
+ 2:00 Syria EE%sT 2019 Mar 29 0:00
+ 2:00 Syria +02/+03
# Tajikistan
# From Shanks & Pottenger.
diff --git a/backzone b/backzone
index 97792b1..349aaae 100644
--- a/backzone
+++ b/backzone
@@ -560,7 +560,8 @@ Zone Europe/Belfast -0:23:40 - LMT 1880 Aug 2
0:00 GB-Eire %s 1968 Oct 27
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
- 0:00 EU GMT/BST
+ 0:00 EU GMT/BST 2019 Mar 29 23:00u # Brexit
+ 0:00 UK GMT/BST
# Guernsey
# Data from Joseph S. Myers
@@ -573,7 +574,8 @@ Zone Europe/Guernsey -0:10:09 - LMT 1913 Jun 18
0:00 GB-Eire %s 1968 Oct 27
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
- 0:00 EU GMT/BST
+ 0:00 EU GMT/BST 2019 Mar 29 23:00u # Brexit
+ 0:00 UK GMT/BST
# Isle of Man
#
@@ -594,7 +596,8 @@ Zone Europe/Isle_of_Man -0:17:55 - LMT 1883 Mar 30 0:00s
0:00 GB-Eire %s 1968 Oct 27
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
- 0:00 EU GMT/BST
+ 0:00 EU GMT/BST 2019 Mar 29 23:00u # Brexit
+ 0:00 UK GMT/BST
# Jersey
# Data from Joseph S. Myers
@@ -607,7 +610,8 @@ Zone Europe/Jersey -0:08:26 - LMT 1898 Jun 11 16:00u
0:00 GB-Eire %s 1968 Oct 27
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
- 0:00 EU GMT/BST
+ 0:00 EU GMT/BST 2019 Mar 29 23:00u # Brexit
+ 0:00 UK GMT/BST
# Slovenia
Zone Europe/Ljubljana 0:58:04 - LMT 1884
@@ -615,7 +619,8 @@ Zone Europe/Ljubljana 0:58:04 - LMT 1884
1:00 C-Eur CE%sT 1945 May 8 2:00s
1:00 1:00 CEST 1945 Sep 16 2:00s
1:00 - CET 1982 Nov 27
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Bosnia and Herzegovina
Zone Europe/Sarajevo 1:13:40 - LMT 1884
@@ -623,7 +628,8 @@ Zone Europe/Sarajevo 1:13:40 - LMT 1884
1:00 C-Eur CE%sT 1945 May 8 2:00s
1:00 1:00 CEST 1945 Sep 16 2:00s
1:00 - CET 1982 Nov 27
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Macedonia
Zone Europe/Skopje 1:25:44 - LMT 1884
@@ -631,7 +637,8 @@ Zone Europe/Skopje 1:25:44 - LMT 1884
1:00 C-Eur CE%sT 1945 May 8 2:00s
1:00 1:00 CEST 1945 Sep 16 2:00s
1:00 - CET 1982 Nov 27
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Moldova / Transnistria
Zone Europe/Tiraspol 1:58:32 - LMT 1880
@@ -647,7 +654,8 @@ Zone Europe/Tiraspol 1:58:32 - LMT 1880
# Liechtenstein
Zone Europe/Vaduz 0:38:04 - LMT 1894 Jun
1:00 - CET 1981
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Croatia
Zone Europe/Zagreb 1:03:52 - LMT 1884
@@ -655,7 +663,8 @@ Zone Europe/Zagreb 1:03:52 - LMT 1884
1:00 C-Eur CE%sT 1945 May 8 2:00s
1:00 1:00 CEST 1945 Sep 16 2:00s
1:00 - CET 1982 Nov 27
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Madagascar
Zone Indian/Antananarivo 3:10:04 - LMT 1911 Jul
diff --git a/europe b/europe
index e5017c2..1d8f201 100644
--- a/europe
+++ b/europe
@@ -500,12 +500,16 @@ Rule GB-Eire 1990 1995 - Oct Sun>=22 1:00u 0 GMT
#
# Use Europe/London for Jersey, Guernsey, and the Isle of Man.
+Rule UK 2019 max - Mar lastSun 1:00u 1:00 -
+Rule UK 2019 max - Oct lastSun 1:00u 0 -
+
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/London -0:01:15 - LMT 1847 Dec 1 0:00s
0:00 GB-Eire %s 1968 Oct 27
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
- 0:00 EU GMT/BST
+ 0:00 EU GMT/BST 2019 Mar 29 23:00u # Brexit
+ 0:00 UK GMT/BST
Link Europe/London Europe/Jersey
Link Europe/London Europe/Guernsey
Link Europe/London Europe/Isle_of_Man
@@ -533,10 +537,10 @@ Link Europe/London Europe/Isle_of_Man
Rule Eire 1971 only - Oct 31 2:00u -1:00 -
Rule Eire 1972 1980 - Mar Sun>=16 2:00u 0 -
Rule Eire 1972 1980 - Oct Sun>=23 2:00u -1:00 -
-Rule Eire 1981 max - Mar lastSun 1:00u 0 -
+Rule Eire 1981 2019 - Mar lastSun 1:00u 0 -
Rule Eire 1981 1989 - Oct Sun>=23 1:00u -1:00 -
Rule Eire 1990 1995 - Oct Sun>=22 1:00u -1:00 -
-Rule Eire 1996 max - Oct lastSun 1:00u -1:00 -
+Rule Eire 1996 2019 - Oct lastSun 1:00u -1:00 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2
@@ -550,11 +554,12 @@ Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2
0:00 - GMT 1948 Apr 18 2:00s
0:00 GB-Eire GMT/IST 1968 Oct 27
# The next line is for when negative SAVE values are used.
- 1:00 Eire IST/GMT
+ 1:00 Eire IST/GMT 2019 Mar 31 1:00u
# These three lines are for when SAVE values are always nonnegative.
# 1:00 - IST 1971 Oct 31 2:00u
# 0:00 GB-Eire GMT/IST 1996
-# 0:00 EU GMT/IST
+# 0:00 EU GMT/IST 2019 Mar 31 1:00u
+ 1:00 - IST
###############################################################################
@@ -570,20 +575,23 @@ Rule EU 1977 1980 - Apr Sun>=1 1:00u 1:00 S
Rule EU 1977 only - Sep lastSun 1:00u 0 -
Rule EU 1978 only - Oct 1 1:00u 0 -
Rule EU 1979 1995 - Sep lastSun 1:00u 0 -
-Rule EU 1981 max - Mar lastSun 1:00u 1:00 S
-Rule EU 1996 max - Oct lastSun 1:00u 0 -
-# The most recent directive covers the years starting in 2002. See:
+Rule EU 1981 2019 - Mar lastSun 1:00u 1:00 S
+Rule EU 1996 2019 - Oct lastSun 1:00u 0 -
+# The last summer time directive covers 2002-2019. See:
# Directive 2000/84/EC of the European Parliament and of the Council
# of 19 January 2001 on summer-time arrangements.
# http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32000L0084:EN:NOT
+# The above ruleset assumes that the 2018-09-12 European Commission proposal to
+# abolish DST will take effect unmodified; see
+# https://ec.europa.eu/commission/sites/beta-political/files/soteu2018-discontinuing-seasonal-changes-time-directive-639_en.pdf
# W-Eur differs from EU only in that W-Eur uses standard time.
Rule W-Eur 1977 1980 - Apr Sun>=1 1:00s 1:00 S
Rule W-Eur 1977 only - Sep lastSun 1:00s 0 -
Rule W-Eur 1978 only - Oct 1 1:00s 0 -
Rule W-Eur 1979 1995 - Sep lastSun 1:00s 0 -
-Rule W-Eur 1981 max - Mar lastSun 1:00s 1:00 S
-Rule W-Eur 1996 max - Oct lastSun 1:00s 0 -
+Rule W-Eur 1981 2019 - Mar lastSun 1:00s 1:00 S
+Rule W-Eur 1996 2019 - Oct lastSun 1:00s 0 -
# Older C-Eur rules are for convenience in the tables.
# From 1977 on, C-Eur differs from EU only in that C-Eur uses standard time.
@@ -641,8 +649,8 @@ Rule C-Eur 1977 1980 - Apr Sun>=1 2:00s 1:00 S
Rule C-Eur 1977 only - Sep lastSun 2:00s 0 -
Rule C-Eur 1978 only - Oct 1 2:00s 0 -
Rule C-Eur 1979 1995 - Sep lastSun 2:00s 0 -
-Rule C-Eur 1981 max - Mar lastSun 2:00s 1:00 S
-Rule C-Eur 1996 max - Oct lastSun 2:00s 0 -
+Rule C-Eur 1981 2019 - Mar lastSun 2:00s 1:00 S
+Rule C-Eur 1996 2019 - Oct lastSun 2:00s 0 -
# E-Eur differs from EU only in that E-Eur switches at midnight local time.
Rule E-Eur 1977 1980 - Apr Sun>=1 0:00 1:00 S
@@ -801,14 +809,16 @@ Rule Albania 1984 only - Apr 1 0:00 1:00 S
Zone Europe/Tirane 1:19:20 - LMT 1914
1:00 - CET 1940 Jun 16
1:00 Albania CE%sT 1984 Jul
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Andorra
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Andorra 0:06:04 - LMT 1901
0:00 - WET 1946 Sep 30
1:00 - CET 1985 Mar 31 2:00
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Austria
@@ -838,7 +848,8 @@ Zone Europe/Vienna 1:05:21 - LMT 1893 Apr
1:00 1:00 CEST 1945 Apr 12 2:00s
1:00 - CET 1946
1:00 Austria CE%sT 1981
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Belarus
#
@@ -935,7 +946,8 @@ Zone Europe/Brussels 0:17:30 - LMT 1880
0:00 Belgium WE%sT 1940 May 20 2:00s
1:00 C-Eur CE%sT 1944 Sep 3
1:00 Belgium CE%sT 1977
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Bosnia and Herzegovina
# See Europe/Belgrade.
@@ -963,7 +975,8 @@ Zone Europe/Sofia 1:33:16 - LMT 1880
2:00 Bulg EE%sT 1982 Sep 26 3:00
2:00 C-Eur EE%sT 1991
2:00 E-Eur EE%sT 1997
- 2:00 EU EE%sT
+ 2:00 EU EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Croatia
# See Europe/Belgrade.
@@ -997,7 +1010,8 @@ Zone Europe/Prague 0:57:44 - LMT 1850
# 0:00 - GMT 1947 Feb 23 2:00
# End of rearguard section.
1:00 Czech CE%sT 1979
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Use Europe/Prague also for Slovakia.
# Denmark, Faroe Islands, and Greenland
@@ -1054,10 +1068,12 @@ Zone Europe/Copenhagen 0:50:20 - LMT 1890
1:00 Denmark CE%sT 1942 Nov 2 2:00s
1:00 C-Eur CE%sT 1945 Apr 2 2:00
1:00 Denmark CE%sT 1980
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
Zone Atlantic/Faroe -0:27:04 - LMT 1908 Jan 11 # Tórshavn
0:00 - WET 1981
- 0:00 EU WE%sT
+ 0:00 EU WE%sT 2019 Mar 31 1:00u
+ 1:00 - +01
#
# From Paul Eggert (2004-10-31):
# During World War II, Germany maintained secret manned weather stations in
@@ -1149,14 +1165,16 @@ Rule Thule 2007 max - Nov Sun>=1 2:00 0 S
Zone America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
-3:00 - -03 1980 Apr 6 2:00
-3:00 EU -03/-02 1996
- 0:00 - GMT
+ 0:00 - +00
Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit
-2:00 - -02 1980 Apr 6 2:00
-2:00 C-Eur -02/-01 1981 Mar 29
- -1:00 EU -01/+00
+ -1:00 EU -01/+00 2019 Mar 31 1:00u
+ 0:00 - +00
Zone America/Godthab -3:26:56 - LMT 1916 Jul 28 # Nuuk
-3:00 - -03 1980 Apr 6 2:00
- -3:00 EU -03/-02
+ -3:00 EU -03/-02 2019 Mar 31 1:00u
+ -2:00 - -02
Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik air base
-4:00 Thule A%sT
@@ -1224,7 +1242,8 @@ Zone Europe/Tallinn 1:39:00 - LMT 1880
2:00 C-Eur EE%sT 1998 Sep 22
2:00 EU EE%sT 1999 Oct 31 4:00
2:00 - EET 2002 Feb 21
- 2:00 EU EE%sT
+ 2:00 EU EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Finland
@@ -1278,7 +1297,8 @@ Rule Finland 1981 1982 - Sep lastSun 3:00 0 -
Zone Europe/Helsinki 1:39:49 - LMT 1878 May 31
1:39:49 - HMT 1921 May # Helsinki Mean Time
2:00 Finland EE%sT 1983
- 2:00 EU EE%sT
+ 2:00 EU EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Åland Is
Link Europe/Helsinki Europe/Mariehamn
@@ -1374,7 +1394,8 @@ Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15 0:01
1:00 C-Eur CE%sT 1944 Aug 25
0:00 France WE%sT 1945 Sep 16 3:00
1:00 France CE%sT 1977
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Germany
@@ -1417,7 +1438,8 @@ Zone Europe/Berlin 0:53:28 - LMT 1893 Apr
1:00 C-Eur CE%sT 1945 May 24 2:00
1:00 SovietZone CE%sT 1946
1:00 Germany CE%sT 1980
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# From Tobias Conradi (2011-09-12):
# Büsingen <http://www.buesingen.de>, surrounded by the Swiss canton
@@ -1444,7 +1466,8 @@ Link Europe/Zurich Europe/Busingen
Zone Europe/Gibraltar -0:21:24 - LMT 1880 Aug 2 0:00s
0:00 GB-Eire %s 1957 Apr 14 2:00
1:00 - CET 1982
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 1:00 UK +01/+02
# Greece
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@@ -1479,7 +1502,8 @@ Zone Europe/Athens 1:34:52 - LMT 1895 Sep 14
2:00 Greece EE%sT 1981
# Shanks & Pottenger say it switched to C-Eur in 1981;
# go with EU rules instead, since Greece joined Jan 1.
- 2:00 EU EE%sT
+ 2:00 EU EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Hungary
# From Paul Eggert (2014-07-15):
@@ -1514,7 +1538,8 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 Oct
1:00 Hungary CE%sT 1941 Apr 8
1:00 C-Eur CE%sT 1945
1:00 Hungary CE%sT 1980 Sep 28 2:00s
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Iceland
#
@@ -1662,7 +1687,8 @@ Zone Europe/Rome 0:49:56 - LMT 1866 Sep 22
1:00 Italy CE%sT 1943 Sep 10
1:00 C-Eur CE%sT 1944 Jun 4
1:00 Italy CE%sT 1980
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
Link Europe/Rome Europe/Vatican
Link Europe/Rome Europe/San_Marino
@@ -1747,7 +1773,8 @@ Zone Europe/Riga 1:36:34 - LMT 1880
2:00 Latvia EE%sT 1997 Jan 21
2:00 EU EE%sT 2000 Feb 29
2:00 - EET 2001 Jan 2
- 2:00 EU EE%sT
+ 2:00 EU EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Liechtenstein
@@ -1817,7 +1844,8 @@ Zone Europe/Vilnius 1:41:16 - LMT 1880
2:00 - EET 1998 Mar 29 1:00u
1:00 EU CE%sT 1999 Oct 31 1:00u
2:00 - EET 2003 Jan 1
- 2:00 EU EE%sT
+ 2:00 EU EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Luxembourg
# Whitman disagrees with most of these dates in minor ways;
@@ -1853,7 +1881,8 @@ Zone Europe/Luxembourg 0:24:36 - LMT 1904 Jun
0:00 Belgium WE%sT 1940 May 14 3:00
1:00 C-Eur WE%sT 1944 Sep 18 3:00
1:00 Belgium CE%sT 1977
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Macedonia
# See Europe/Belgrade.
@@ -1875,7 +1904,8 @@ Rule Malta 1980 only - Mar 31 2:00 1:00 S
Zone Europe/Malta 0:58:04 - LMT 1893 Nov 2 0:00s # Valletta
1:00 Italy CE%sT 1973 Mar 31
1:00 Malta CE%sT 1981
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Moldova
@@ -1961,7 +1991,8 @@ Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
0:00 France WE%sT 1945 Sep 16 3:00
1:00 France CE%sT 1977
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Montenegro
# See Europe/Belgrade.
@@ -2038,7 +2069,8 @@ Zone Europe/Amsterdam 0:19:32 - LMT 1835
0:20 Neth +0020/+0120 1940 May 16 0:00
1:00 C-Eur CE%sT 1945 Apr 2 2:00
1:00 Neth CE%sT 1977
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Norway
# http://met.no/met/met_lex/q_u/sommertid.html (2004-01) agrees with Shanks &
@@ -2056,7 +2088,8 @@ Zone Europe/Oslo 0:43:00 - LMT 1895 Jan 1
1:00 Norway CE%sT 1940 Aug 10 23:00
1:00 C-Eur CE%sT 1945 Apr 2 2:00
1:00 Norway CE%sT 1980
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Svalbard & Jan Mayen
@@ -2151,7 +2184,8 @@ Zone Europe/Warsaw 1:24:00 - LMT 1880
1:00 C-Eur CE%sT 1944 Oct
1:00 Poland CE%sT 1977
1:00 W-Eur CE%sT 1988
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Portugal
@@ -2255,7 +2289,8 @@ Zone Europe/Lisbon -0:36:45 - LMT 1884
0:00 Port WE%sT 1983 Sep 25 1:00s
0:00 W-Eur WE%sT 1992 Sep 27 1:00s
1:00 EU CE%sT 1996 Mar 31 1:00u
- 0:00 EU WE%sT
+ 0:00 EU WE%sT 2019 Mar 31 1:00u
+ 1:00 - +01
# This Zone can be simplified once we assume zic %z.
Zone Atlantic/Azores -1:42:40 - LMT 1884 # Ponta Delgada
-1:54:32 - HMT 1912 Jan 1 2:00u # Horta MT
@@ -2271,7 +2306,8 @@ Zone Atlantic/Azores -1:42:40 - LMT 1884 # Ponta Delgada
-1:00 Port -01/+00 1983 Sep 25 1:00s
-1:00 W-Eur -01/+00 1992 Sep 27 1:00s
0:00 EU WE%sT 1993 Mar 28 1:00u
- -1:00 EU -01/+00
+ -1:00 EU -01/+00 2019 Mar 31 1:00u
+ 0:00 - +00
# This Zone can be simplified once we assume zic %z.
Zone Atlantic/Madeira -1:07:36 - LMT 1884 # Funchal
-1:07:36 - FMT 1912 Jan 1 1:00u # Funchal MT
@@ -2285,7 +2321,8 @@ Zone Atlantic/Madeira -1:07:36 - LMT 1884 # Funchal
-1:00 Port +01 1945 Aug 25 22:00s
-1:00 Port -01/+00 1966 Apr 3 2:00
0:00 Port WE%sT 1983 Sep 25 1:00s
- 0:00 EU WE%sT
+ 0:00 EU WE%sT 2019 Mar 31 1:00u
+ 1:00 - +01
# Romania
#
@@ -2313,7 +2350,8 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
2:00 C-Eur EE%sT 1991
2:00 Romania EE%sT 1994
2:00 E-Eur EE%sT 1997
- 2:00 EU EE%sT
+ 2:00 EU EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Russia
@@ -2491,7 +2529,8 @@ Zone Europe/Kaliningrad 1:22:00 - LMT 1893 Apr
3:00 Russia MSK/MSD 1989 Mar 26 2:00s
2:00 Russia EE%sT 2011 Mar 27 2:00s
3:00 - +03 2014 Oct 26 2:00s
- 2:00 - EET
+ 2:00 - EET 2019 Mar 31 1:00u
+ 2:00 - +02
# From Paul Eggert (2016-02-21), per Tim Parenti (2014-07-03) and
@@ -3345,7 +3384,8 @@ Zone Europe/Belgrade 1:22:00 - LMT 1884
# transition to EU rules was 1982-11-27, for all of Yugoslavia at the time.
# Shanks & Pottenger don't give as much detail, so go with Koželj.
1:00 - CET 1982 Nov 27
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
Link Europe/Belgrade Europe/Ljubljana # Slovenia
Link Europe/Belgrade Europe/Podgorica # Montenegro
Link Europe/Belgrade Europe/Sarajevo # Bosnia and Herzegovina
@@ -3444,7 +3484,8 @@ Rule SpainAfrica 1978 only - Aug 4 0:00 0 -
Zone Europe/Madrid -0:14:44 - LMT 1900 Dec 31 23:45:16
0:00 Spain WE%sT 1940 Mar 16 23:00
1:00 Spain CE%sT 1979
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
Zone Africa/Ceuta -0:21:16 - LMT 1900 Dec 31 23:38:44
0:00 - WET 1918 May 6 23:00
0:00 1:00 WEST 1918 Oct 7 23:00
@@ -3453,12 +3494,14 @@ Zone Africa/Ceuta -0:21:16 - LMT 1900 Dec 31 23:38:44
0:00 - WET 1967 # Help zishrink.awk.
0:00 SpainAfrica WE%sT 1984 Mar 16
1:00 - CET 1986
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C.
-1:00 - -01 1946 Sep 30 1:00
0:00 - WET 1980 Apr 6 0:00s
0:00 1:00 WEST 1980 Sep 28 1:00u
- 0:00 EU WE%sT
+ 0:00 EU WE%sT 2019 Mar 31 1:00u
+ 1:00 - +01
# IATA SSIM (1996-09) says the Canaries switch at 2:00u, not 1:00u.
# Ignore this for now, as the Canaries are part of the EU.
@@ -3514,7 +3557,8 @@ Zone Europe/Stockholm 1:12:12 - LMT 1879 Jan 1
1:00 - CET 1916 May 14 23:00
1:00 1:00 CEST 1916 Oct 1 1:00
1:00 - CET 1980
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Switzerland
# From Howse:
@@ -3615,7 +3659,8 @@ Rule Swiss 1941 1942 - Oct Mon>=1 2:00 0 -
Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 # See above comment.
0:29:46 - BMT 1894 Jun # Bern Mean Time
1:00 Swiss CE%sT 1981
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
# Turkey
@@ -3858,7 +3903,8 @@ Zone Europe/Kiev 2:02:04 - LMT 1880
3:00 Russia MSK/MSD 1990 Jul 1 2:00
2:00 1:00 EEST 1991 Sep 29 3:00
2:00 E-Eur EE%sT 1995
- 2:00 EU EE%sT
+ 2:00 EU EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Ruthenia used CET 1990/1991.
# "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but
# "Uzhgorod" is more common in English.
@@ -3872,7 +3918,8 @@ Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct
1:00 - CET 1991 Mar 31 3:00
2:00 - EET 1992
2:00 E-Eur EE%sT 1995
- 2:00 EU EE%sT
+ 2:00 EU EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Zaporozh'ye and eastern Lugansk oblasts observed DST 1990/1991.
# "Zaporizhia" is the transliteration of the Ukrainian name, but
# "Zaporozh'ye" is more common in English. Use the common English
@@ -3885,7 +3932,8 @@ Zone Europe/Zaporozhye 2:20:40 - LMT 1880
1:00 C-Eur CE%sT 1943 Oct 25
3:00 Russia MSK/MSD 1991 Mar 31 2:00
2:00 E-Eur EE%sT 1995
- 2:00 EU EE%sT
+ 2:00 EU EE%sT 2019 Mar 31 1:00u
+ 3:00 - +03
# Vatican City
# See Europe/Rome.
diff --git a/zic.8 b/zic.8
index 4ef7675..17336dc 100644
--- a/zic.8
+++ b/zic.8
@@ -554,7 +554,8 @@ Rule EU 1996 max \*- Oct lastSun 1:00u 0 \*-
Zone Europe/Zurich 0:34:08 \*- LMT 1853 Jul 16
0:29:46 \*- BMT 1894 Jun
1:00 Swiss CE%sT 1981
- 1:00 EU CE%sT
+ 1:00 EU CE%sT 2019 Mar 31 1:00u
+ 2:00 - +02
.sp
Link Europe/Zurich Europe/Vaduz
.sp
@@ -568,8 +569,9 @@ was changed to 7\(de\|26\(fm\|22