342
342
# From Gunther Vermier (2015-05-13):
343
343
# our Egypt office confirms that the change will be at 15 May "midnight" (24:00)
345
# From Paul Eggert (2014-05-13):
345
# From Imed Chihi (2014-06-04):
346
# We have finally "located" a precise official reference about the DST changes
347
# in Egypt. The Ministers Cabinet decision is explained at
348
# http://www.cabinet.gov.eg/Media/CabinetMeetingsDetails.aspx?id=347 ...
349
# [T]his (Arabic) site is not accessible outside Egypt, but the page ...
350
# translates into: "With regard to daylight saving time, it is scheduled to
351
# take effect at exactly twelve o'clock this evening, Thursday, 15 MAY 2014,
352
# to be suspended by twelve o'clock on the evening of Thursday, 26 JUN 2014,
353
# and re-established again at the end of the month of Ramadan, at twelve
354
# o'clock on the evening of Thursday, 31 JUL 2014." This statement has been
355
# reproduced by other (more accessible) sites[, e.g.,]...
356
# http://elgornal.net/news/news.aspx?id=4699258
358
# From Paul Eggert (2014-06-04):
346
359
# Sarah El Deeb and Lee Keath of AP report that the Egyptian government says
347
360
# the change is because of blackouts in Cairo, even though Ahram Online (cited
348
# above) says DST had no affect on electricity consumption. The AP story says
349
# DST will not be observed during Ramadan. There is no information about when
361
# above) says DST had no affect on electricity consumption. There is
362
# no information about when DST will end this fall. See:
351
363
# http://abcnews.go.com/International/wireStory/el-sissi-pushes-egyptians-line-23614833
353
# For now, guess that later transitions will use 2010's rules, and that
354
# Egypt will agree with Morocco (see below) about the date Ramadan starts and
355
# ends, though (unlike Morocco) it will switch at 00:00 standard time. In
356
# Egypt the spring-forward transitions are removed for 2020-2022, when the
357
# guessed spring-forward date falls during the estimated Ramadan, and all
358
# transitions removed for 2023-2038, where the estimated Ramadan falls entirely
359
# outside the guessed daylight-saving time. Ramadan intrudes on the guessed
360
# DST starting in 2039, but that's beyond our somewhat-arbitrary cutoff.
362
Rule Egypt 2008 only - Aug lastThu 23:00s 0 -
363
Rule Egypt 2009 only - Aug 20 23:00s 0 -
364
Rule Egypt 2010 only - Aug 11 0:00 0 -
365
Rule Egypt 2010 only - Sep 10 0:00 1:00 S
366
Rule Egypt 2010 only - Sep lastThu 23:00s 0 -
365
# For now, guess that later spring and fall transitions will use
366
# 2010's rules, and guess that Egypt will switch to standard time at
367
# 24:00 the last Thursday before Ramadan, and back to DST at 00:00 the
368
# first Friday after Ramadan. To implement this,
369
# transition dates for 2015 through 2037 were determined by running
370
# the following program under GNU Emacs 24.3, with the results integrated
371
# by hand into the table below. Ramadan again intrudes on the guessed
372
# DST starting in 2038, but that's beyond our somewhat-arbitrary cutoff.
373
# (let ((islamic-year 1436))
374
# (while (< islamic-year 1460)
375
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
376
# (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
378
# (while (/= friday (mod a 7))
380
# (while (/= friday (mod b 7))
384
# (setq a (calendar-gregorian-from-absolute a))
385
# (setq b (calendar-gregorian-from-absolute b))
388
# (concat "Rule\tEgypt\t%d\tonly\t-\t%s\t%2d\t24:00\t0\t-\n"
389
# "Rule\tEgypt\t%d\tonly\t-\t%s\t%2d\t24:00\t1:00\tS\n")
390
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
391
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
392
# (setq islamic-year (+ 1 islamic-year))))
393
Rule Egypt 2008 only - Aug lastThu 24:00 0 -
394
Rule Egypt 2009 only - Aug 20 24:00 0 -
395
Rule Egypt 2010 only - Aug 10 24:00 0 -
396
Rule Egypt 2010 only - Sep 9 24:00 1:00 S
397
Rule Egypt 2010 only - Sep lastThu 24:00 0 -
367
398
Rule Egypt 2014 only - May 15 24:00 1:00 S
368
Rule Egypt 2014 only - Jun 29 0:00s 0 -
369
Rule Egypt 2014 only - Jul 29 0:00s 1:00 S
370
Rule Egypt 2014 max - Sep lastThu 23:00s 0 -
399
Rule Egypt 2014 only - Jun 26 24:00 0 -
400
Rule Egypt 2014 only - Jul 31 24:00 1:00 S
401
Rule Egypt 2014 max - Sep lastThu 24:00 0 -
371
402
Rule Egypt 2015 2019 - Apr lastFri 0:00s 1:00 S
372
Rule Egypt 2015 only - Jun 18 0:00s 0 -
373
Rule Egypt 2015 only - Jul 18 0:00s 1:00 S
374
Rule Egypt 2016 only - Jun 7 0:00s 0 -
375
Rule Egypt 2016 only - Jul 7 0:00s 1:00 S
376
Rule Egypt 2017 only - May 27 0:00s 0 -
377
Rule Egypt 2017 only - Jun 26 0:00s 1:00 S
378
Rule Egypt 2018 only - May 16 0:00s 0 -
379
Rule Egypt 2018 only - Jun 15 0:00s 1:00 S
380
Rule Egypt 2019 only - May 6 0:00s 0 -
381
Rule Egypt 2019 only - Jun 5 0:00s 1:00 S
382
Rule Egypt 2020 only - May 24 0:00s 1:00 S
383
Rule Egypt 2021 only - May 13 0:00s 1:00 S
384
Rule Egypt 2022 only - May 3 0:00s 1:00 S
403
Rule Egypt 2015 only - Jun 11 24:00 0 -
404
Rule Egypt 2015 only - Jul 23 24:00 1:00 S
405
Rule Egypt 2016 only - Jun 2 24:00 0 -
406
Rule Egypt 2016 only - Jul 7 24:00 1:00 S
407
Rule Egypt 2017 only - May 25 24:00 0 -
408
Rule Egypt 2017 only - Jun 29 24:00 1:00 S
409
Rule Egypt 2018 only - May 10 24:00 0 -
410
Rule Egypt 2018 only - Jun 14 24:00 1:00 S
411
Rule Egypt 2019 only - May 2 24:00 0 -
412
Rule Egypt 2019 only - Jun 6 24:00 1:00 S
413
Rule Egypt 2020 only - May 28 24:00 1:00 S
414
Rule Egypt 2021 only - May 13 24:00 1:00 S
415
Rule Egypt 2022 only - May 5 24:00 1:00 S
385
416
Rule Egypt 2023 max - Apr lastFri 0:00s 1:00 S
387
418
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
914
945
# From Sebastien Willemijns (2014-03-18):
915
946
# http://www.afriquinfos.com/articles/2014/3/18/maroc-heure-dete-avancez-tous-horloges-247891.asp
917
# From Paul Eggert (2014-03-19):
918
# To estimate what the Moroccan government will do in future years,
919
# transition dates for 2014 through 2038 were determined by running
920
# the following program under GNU Emacs 24.3:
922
# (let ((islamic-year 1435))
923
# (while (< islamic-year 1461)
925
# (calendar-gregorian-from-absolute
926
# (calendar-islamic-to-absolute (list 9 1 islamic-year))))
928
# (calendar-gregorian-from-absolute
929
# (calendar-islamic-to-absolute (list 10 1 islamic-year)))))
932
# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 3:00\t0\t-\n"
933
# "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 2:00\t1:00\tS\n")
934
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
935
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
948
# From Milamber Space Network (2014-06-05):
949
# The Moroccan government has recently announced that the country will return
950
# to standard time at 03:00 on Saturday, June 28, 2014 local time.... DST
951
# will resume again at 02:00 on Saturday, August 2, 2014....
952
# http://www.mmsp.gov.ma/fr/actualites.aspx?id=586
954
# From Paul Eggert (2014-06-05):
955
# For now, guess that later spring and fall transitions will use 2014's rules,
956
# and guess that Morocco will switch to standard time at 03:00 the last
957
# Saturday before Ramadan, and back to DST at 02:00 the first Saturday after
958
# Ramadan. To implement this, transition dates for 2015 through 2037 were
959
# determined by running the following program under GNU Emacs 24.3, with the
960
# results integrated by hand into the table below.
961
# (let ((islamic-year 1436))
962
# (while (< islamic-year 1460)
963
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
964
# (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
966
# (while (/= saturday (mod (setq a (1- a)) 7)))
967
# (while (/= saturday (mod b 7))
969
# (setq a (calendar-gregorian-from-absolute a))
970
# (setq b (calendar-gregorian-from-absolute b))
973
# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 3:00\t0\t-\n"
974
# "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 2:00\t1:00\tS\n")
975
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
976
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
936
977
# (setq islamic-year (+ 1 islamic-year))))
938
# with spring-forward transitions removed for 2023-2025, when the
939
# normal spring-forward date falls during the estimated Ramadan; with
940
# all transitions removed for 2026-2035, where the estimated Ramadan
941
# falls entirely outside daylight-saving time; and with fall-back
942
# transitions removed for 2036-2037, where the normal fall-back
943
# date falls during the estimated Ramadan. Normally, the table would
944
# stop after 2037 because 32-bit time_t values roll around early in 2038,
945
# but that would imply a prediction of perpetual DST after March 2038
946
# due to the year-2037 glitches. So, this table instead stops after
947
# 2038, the first non-glitchy year after the 32-bit rollover.
948
# An advantage of stopping after 2038 is that it lets zic guess
949
# TZ='WET0WEST,M3.5.0,M10.5.0/3' for time stamps far in the future.
951
979
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
968
996
Rule Morocco 2008 only - Jun 1 0:00 1:00 S
969
997
Rule Morocco 2008 only - Sep 1 0:00 0 -
970
998
Rule Morocco 2009 only - Jun 1 0:00 1:00 S
971
Rule Morocco 2009 only - Aug 21 0:00 0 -
999
Rule Morocco 2009 only - Aug 21 0:00 0 -
972
1000
Rule Morocco 2010 only - May 2 0:00 1:00 S
973
1001
Rule Morocco 2010 only - Aug 8 0:00 0 -
974
1002
Rule Morocco 2011 only - Apr 3 0:00 1:00 S
975
Rule Morocco 2011 only - Jul 31 0 0 -
976
Rule Morocco 2012 2013 - Apr lastSun 2:00 1:00 S
977
Rule Morocco 2012 only - Sep 30 3:00 0 -
978
Rule Morocco 2012 only - Jul 20 3:00 0 -
979
Rule Morocco 2012 only - Aug 20 2:00 1:00 S
980
Rule Morocco 2013 only - Jul 7 3:00 0 -
981
Rule Morocco 2013 only - Aug 10 2:00 1:00 S
982
Rule Morocco 2013 2035 - Oct lastSun 3:00 0 -
983
Rule Morocco 2014 2022 - Mar lastSun 2:00 1:00 S
984
Rule Morocco 2014 only - Jun 29 3:00 0 -
985
Rule Morocco 2014 only - Jul 29 2:00 1:00 S
986
Rule Morocco 2015 only - Jun 18 3:00 0 -
987
Rule Morocco 2015 only - Jul 18 2:00 1:00 S
988
Rule Morocco 2016 only - Jun 7 3:00 0 -
989
Rule Morocco 2016 only - Jul 7 2:00 1:00 S
990
Rule Morocco 2017 only - May 27 3:00 0 -
991
Rule Morocco 2017 only - Jun 26 2:00 1:00 S
992
Rule Morocco 2018 only - May 16 3:00 0 -
993
Rule Morocco 2018 only - Jun 15 2:00 1:00 S
994
Rule Morocco 2019 only - May 6 3:00 0 -
995
Rule Morocco 2019 only - Jun 5 2:00 1:00 S
996
Rule Morocco 2020 only - Apr 24 3:00 0 -
997
Rule Morocco 2020 only - May 24 2:00 1:00 S
998
Rule Morocco 2021 only - Apr 13 3:00 0 -
999
Rule Morocco 2021 only - May 13 2:00 1:00 S
1000
Rule Morocco 2022 only - Apr 3 3:00 0 -
1001
Rule Morocco 2022 only - May 3 2:00 1:00 S
1002
Rule Morocco 2023 only - Apr 22 2:00 1:00 S
1003
Rule Morocco 2024 only - Apr 10 2:00 1:00 S
1004
Rule Morocco 2025 only - Mar 31 2:00 1:00 S
1005
Rule Morocco 2026 max - Mar lastSun 2:00 1:00 S
1006
Rule Morocco 2036 only - Oct 21 3:00 0 -
1007
Rule Morocco 2037 only - Oct 11 3:00 0 -
1008
Rule Morocco 2038 only - Sep 30 3:00 0 -
1009
Rule Morocco 2038 only - Oct 30 2:00 1:00 S
1010
Rule Morocco 2038 max - Oct lastSun 3:00 0 -
1003
Rule Morocco 2011 only - Jul 31 0 0 -
1004
Rule Morocco 2012 2013 - Apr lastSun 2:00 1:00 S
1005
Rule Morocco 2012 only - Sep 30 3:00 0 -
1006
Rule Morocco 2012 only - Jul 20 3:00 0 -
1007
Rule Morocco 2012 only - Aug 20 2:00 1:00 S
1008
Rule Morocco 2013 only - Jul 7 3:00 0 -
1009
Rule Morocco 2013 only - Aug 10 2:00 1:00 S
1010
Rule Morocco 2013 max - Oct lastSun 3:00 0 -
1011
Rule Morocco 2014 2022 - Mar lastSun 2:00 1:00 S
1012
Rule Morocco 2014 only - Jun 28 3:00 0 -
1013
Rule Morocco 2014 only - Aug 2 2:00 1:00 S
1014
Rule Morocco 2015 only - Jun 13 3:00 0 -
1015
Rule Morocco 2015 only - Jul 18 2:00 1:00 S
1016
Rule Morocco 2016 only - Jun 4 3:00 0 -
1017
Rule Morocco 2016 only - Jul 9 2:00 1:00 S
1018
Rule Morocco 2017 only - May 20 3:00 0 -
1019
Rule Morocco 2017 only - Jul 1 2:00 1:00 S
1020
Rule Morocco 2018 only - May 12 3:00 0 -
1021
Rule Morocco 2018 only - Jun 16 2:00 1:00 S
1022
Rule Morocco 2019 only - May 4 3:00 0 -
1023
Rule Morocco 2019 only - Jun 8 2:00 1:00 S
1024
Rule Morocco 2020 only - Apr 18 3:00 0 -
1025
Rule Morocco 2020 only - May 30 2:00 1:00 S
1026
Rule Morocco 2021 only - Apr 10 3:00 0 -
1027
Rule Morocco 2021 only - May 15 2:00 1:00 S
1028
Rule Morocco 2022 only - Apr 2 3:00 0 -
1029
Rule Morocco 2022 only - May 7 2:00 1:00 S
1030
Rule Morocco 2023 only - Apr 22 2:00 1:00 S
1031
Rule Morocco 2024 only - Apr 13 2:00 1:00 S
1032
Rule Morocco 2025 only - Apr 5 2:00 1:00 S
1033
Rule Morocco 2026 max - Mar lastSun 2:00 1:00 S
1034
Rule Morocco 2035 only - Oct 27 3:00 0 -
1035
Rule Morocco 2036 only - Oct 18 3:00 0 -
1036
Rule Morocco 2037 only - Oct 10 3:00 0 -
1012
1038
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
1013
1039
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26