Skip to content

Commit 80de44c

Browse files
committed
Morocco switches to permanent +01 tomorrow
(Thanks to Mohamed Essedik Najd and Brian Inglis.) * NEWS: Mention this. * africa (Morocco, Africa/Casablanca, Africa/El_Aaiun): Use numeric abbreviations for Morocco to help avoid confusion after the switchover. * europe: Add comment about SpainAfrica. * zishrink.awk (process_input_line): SpainAfrica and Morocco are no longer duplicates.
1 parent 72b8ede commit 80de44c

4 files changed

Lines changed: 43 additions & 70 deletions

File tree

NEWS

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@ News for the tz database
22

33
Unreleased, experimental changes
44

5+
Briefly:
6+
Morocco switches to permanent +01 on 2018-10-27.
7+
8+
Changes to future timestamps
9+
10+
Morocco switches from +00/+01 to permanent +01 effective 2018-10-27,
11+
so its clocks will not fall back on 2018-10-28 as previously scheduled.
12+
(Thanks to Mohamed Essedik Najd and Brian Inglis.)
13+
514
Changes to code
615

716
When generating TZif files with leap seconds, zic no longer uses a

africa

Lines changed: 32 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -844,94 +844,61 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
844844
# <https://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/> agrees
845845
# with the patch.
846846

847-
# From Paul Eggert (2015-06-08):
848-
# For now, guess that later spring and fall transitions will use 2015's rules,
849-
# and guess that Morocco will switch to standard time at 03:00 the last
850-
# Sunday before Ramadan, and back to DST at 02:00 the first Sunday after
851-
# Ramadan. To implement this, transition dates for 2016 through 2037 were
852-
# determined by running the following program under GNU Emacs 24.3, with the
853-
# results integrated by hand into the table below.
854-
# (let ((islamic-year 1437))
855-
# (require 'cal-islam)
856-
# (while (< islamic-year 1460)
857-
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
858-
# (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
859-
# (sunday 0))
860-
# (while (/= sunday (mod (setq a (1- a)) 7)))
861-
# (while (/= sunday (mod b 7))
862-
# (setq b (1+ b)))
863-
# (setq a (calendar-gregorian-from-absolute a))
864-
# (setq b (calendar-gregorian-from-absolute b))
865-
# (insert
866-
# (format
867-
# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 3:00\t0\t-\n"
868-
# "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 2:00\t1:00\tS\n")
869-
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
870-
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
871-
# (setq islamic-year (+ 1 islamic-year))))
847+
# From Mohamed Essedik Najd (2018-10-26):
848+
# Today, a Moroccan government council approved the perpetual addition
849+
# of 60 minutes to the regular Moroccan timezone.
850+
# From Brian Inglis (2018-10-26):
851+
# http://www.maroc.ma/fr/actualites/le-conseil-de-gouvernement-adopte-un-projet-de-decret-relatif-lheure-legale-stipulant-le
872852

873853
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
874-
875-
Rule Morocco 1939 only - Sep 12 0:00 1:00 S
854+
Rule Morocco 1939 only - Sep 12 0:00 1:00 -
876855
Rule Morocco 1939 only - Nov 19 0:00 0 -
877-
Rule Morocco 1940 only - Feb 25 0:00 1:00 S
856+
Rule Morocco 1940 only - Feb 25 0:00 1:00 -
878857
Rule Morocco 1945 only - Nov 18 0:00 0 -
879-
Rule Morocco 1950 only - Jun 11 0:00 1:00 S
858+
Rule Morocco 1950 only - Jun 11 0:00 1:00 -
880859
Rule Morocco 1950 only - Oct 29 0:00 0 -
881-
Rule Morocco 1967 only - Jun 3 12:00 1:00 S
860+
Rule Morocco 1967 only - Jun 3 12:00 1:00 -
882861
Rule Morocco 1967 only - Oct 1 0:00 0 -
883-
Rule Morocco 1974 only - Jun 24 0:00 1:00 S
862+
Rule Morocco 1974 only - Jun 24 0:00 1:00 -
884863
Rule Morocco 1974 only - Sep 1 0:00 0 -
885-
Rule Morocco 1976 1977 - May 1 0:00 1:00 S
864+
Rule Morocco 1976 1977 - May 1 0:00 1:00 -
886865
Rule Morocco 1976 only - Aug 1 0:00 0 -
887866
Rule Morocco 1977 only - Sep 28 0:00 0 -
888-
Rule Morocco 1978 only - Jun 1 0:00 1:00 S
867+
Rule Morocco 1978 only - Jun 1 0:00 1:00 -
889868
Rule Morocco 1978 only - Aug 4 0:00 0 -
890-
Rule Morocco 2008 only - Jun 1 0:00 1:00 S
869+
Rule Morocco 2008 only - Jun 1 0:00 1:00 -
891870
Rule Morocco 2008 only - Sep 1 0:00 0 -
892-
Rule Morocco 2009 only - Jun 1 0:00 1:00 S
871+
Rule Morocco 2009 only - Jun 1 0:00 1:00 -
893872
Rule Morocco 2009 only - Aug 21 0:00 0 -
894-
Rule Morocco 2010 only - May 2 0:00 1:00 S
873+
Rule Morocco 2010 only - May 2 0:00 1:00 -
895874
Rule Morocco 2010 only - Aug 8 0:00 0 -
896-
Rule Morocco 2011 only - Apr 3 0:00 1:00 S
875+
Rule Morocco 2011 only - Apr 3 0:00 1:00 -
897876
Rule Morocco 2011 only - Jul 31 0:00 0 -
898-
Rule Morocco 2012 2013 - Apr lastSun 2:00 1:00 S
877+
Rule Morocco 2012 2013 - Apr lastSun 2:00 1:00 -
899878
Rule Morocco 2012 only - Jul 20 3:00 0 -
900-
Rule Morocco 2012 only - Aug 20 2:00 1:00 S
879+
Rule Morocco 2012 only - Aug 20 2:00 1:00 -
901880
Rule Morocco 2012 only - Sep 30 3:00 0 -
902881
Rule Morocco 2013 only - Jul 7 3:00 0 -
903-
Rule Morocco 2013 only - Aug 10 2:00 1:00 S
904-
Rule Morocco 2013 max - Oct lastSun 3:00 0 -
905-
Rule Morocco 2014 2021 - Mar lastSun 2:00 1:00 S
882+
Rule Morocco 2013 only - Aug 10 2:00 1:00 -
883+
Rule Morocco 2013 2018 - Oct lastSun 3:00 0 -
884+
Rule Morocco 2014 2018 - Mar lastSun 2:00 1:00 -
906885
Rule Morocco 2014 only - Jun 28 3:00 0 -
907-
Rule Morocco 2014 only - Aug 2 2:00 1:00 S
886+
Rule Morocco 2014 only - Aug 2 2:00 1:00 -
908887
Rule Morocco 2015 only - Jun 14 3:00 0 -
909-
Rule Morocco 2015 only - Jul 19 2:00 1:00 S
888+
Rule Morocco 2015 only - Jul 19 2:00 1:00 -
910889
Rule Morocco 2016 only - Jun 5 3:00 0 -
911-
Rule Morocco 2016 only - Jul 10 2:00 1:00 S
890+
Rule Morocco 2016 only - Jul 10 2:00 1:00 -
912891
Rule Morocco 2017 only - May 21 3:00 0 -
913-
Rule Morocco 2017 only - Jul 2 2:00 1:00 S
892+
Rule Morocco 2017 only - Jul 2 2:00 1:00 -
914893
Rule Morocco 2018 only - May 13 3:00 0 -
915-
Rule Morocco 2018 only - Jun 17 2:00 1:00 S
916-
Rule Morocco 2019 only - May 5 3:00 0 -
917-
Rule Morocco 2019 only - Jun 9 2:00 1:00 S
918-
Rule Morocco 2020 only - Apr 19 3:00 0 -
919-
Rule Morocco 2020 only - May 24 2:00 1:00 S
920-
Rule Morocco 2021 only - Apr 11 3:00 0 -
921-
Rule Morocco 2021 only - May 16 2:00 1:00 S
922-
Rule Morocco 2022 only - May 8 2:00 1:00 S
923-
Rule Morocco 2023 only - Apr 23 2:00 1:00 S
924-
Rule Morocco 2024 only - Apr 14 2:00 1:00 S
925-
Rule Morocco 2025 only - Apr 6 2:00 1:00 S
926-
Rule Morocco 2026 max - Mar lastSun 2:00 1:00 S
927-
Rule Morocco 2036 only - Oct 19 3:00 0 -
928-
Rule Morocco 2037 only - Oct 4 3:00 0 -
894+
Rule Morocco 2018 only - Jun 17 2:00 1:00 -
929895

930896
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
931897
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
932-
0:00 Morocco WE%sT 1984 Mar 16
933-
1:00 - CET 1986
934-
0:00 Morocco WE%sT
898+
0:00 Morocco +00/+01 1984 Mar 16
899+
1:00 - +01 1986
900+
0:00 Morocco +00/+01 2018 Oct 27
901+
1:00 - +01
935902

936903
# Western Sahara
937904
#
@@ -946,7 +913,8 @@ Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
946913

947914
Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
948915
-1:00 - -01 1976 Apr 14
949-
0:00 Morocco WE%sT
916+
0:00 Morocco +00/+01 2018 Oct 27
917+
1:00 - +01
950918

951919
# Mozambique
952920
#

europe

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3440,7 +3440,8 @@ Rule Spain 1978 only - Oct 1 2:00s 0 -
34403440
#Rule NatSpain 1937 only - May 22 23:00 1:00 S
34413441
#Rule NatSpain 1937 1938 - Oct Sat>=1 24:00s 0 -
34423442
#Rule NatSpain 1938 only - Mar 26 23:00 1:00 S
3443-
# The following rules are copied from Morocco from 1967 through 1978.
3443+
# The following rules are copied from Morocco from 1967 through 1978,
3444+
# except with "S" letters.
34443445
Rule SpainAfrica 1967 only - Jun 3 12:00 1:00 S
34453446
Rule SpainAfrica 1967 only - Oct 1 0:00 0 -
34463447
Rule SpainAfrica 1974 only - Jun 24 0:00 1:00 S

zishrink.awk

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,6 @@ function process_input_line(line, field, end, i, n, startdef)
172172
if (line ~ /^R /) return
173173
line = substr(line, 1, RSTART) substr(line, RSTART + 5)
174174
}
175-
# Replace SpainAfrica rules with Morocco, as they are duplicates.
176-
if (match(line, / SpainAfrica /)) {
177-
if (line ~ /^R /) return
178-
line = substr(line, 1, RSTART) "Morocco" substr(line, RSTART + RLENGTH - 1)
179-
}
180175

181176
# Abbreviate times.
182177
while (match(line, /[: ]0+[0-9]/))

0 commit comments

Comments
 (0)