Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
191 changes: 32 additions & 159 deletions priv/tzdata2026b/africa → priv/tzdata2026d/africa
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,24 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# Morocco
# See Africa/Ceuta for Spanish Morocco.

# From Paul Eggert (2026-06-26):
# In “Morocco’s GMT+1, a century of shifting time and a debate far from over”
# https://en.yabiladi.com/articles/details/191310/morocco-s-gmt1-century-shifting-time
# (2026-03-30), Yabiladi’s Latifa Babas reports the following:
# * A 1913-10-26 royal dahir established GMT as legal time in Morocco.
# * A 1918-05-10 dahir instituted DST on 1918-05-16 at 00:00.
# * A September 1939 dahir restarted DST on 1939-09-12.
# * A February 1940 dahir restarted DST as early as 1940-02-25.
# * Standard time resumed in September 1946.
# * A June 1950 decree restarted DST, which ran until as late as October.
# * Royal decree 455-67 (1967-06-02) restarted DST on June 3 at noon.
# * After 1967 Morocco used DST “during several summers, particularly
# throughout the 1970s and 1980s.”
# Babas consulted official records that disagree with and are surely
# more correct than our pre-2008 timestamp data, which came from the
# unreliable Shanks & Pottenger. Unfortunately, Babas did not provide
# enough detail to correct our data.

# From Alex Krivenyshev (2008-05-09):
# Here is an article that Morocco plan to introduce Daylight Saving Time between
# 1 June, 2008 and 27 September, 2008.
Expand Down Expand Up @@ -850,33 +868,16 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# The return to legal GMT time will take place this Sunday, March 19 at 3 a.m.
# ... the return to GMT+1 will be made on Sunday April 23, 2023 at 2 a.m.
# https://www.mmsp.gov.ma/fr/actualites/passage-à-l%E2%80%99heure-gmt-à-partir-du-dimanche-19-mars-2023
#
# From Paul Eggert (2023-03-14):
# 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 one day after Ramadan. To implement this,
# transition dates and times for 2019 through 2087 were determined by
# running the following program under GNU Emacs 28.2. (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))))
# (sunday 0))
# (while (/= sunday (mod (setq a (1- a)) 7)))
# (while (/= sunday (mod b 7))
# (setq b (1+ b)))
# (setq a (calendar-gregorian-from-absolute a))
# (setq b (calendar-gregorian-from-absolute b))
# (insert
# (format
# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 3:00\t-1:00\t-\n"
# "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 2:00\t0\t-\n")
# (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 (2026-06-25):
# https://www.moroccoworldnews.com/2026/06/325034/confirmed-morocco-to-restore-gmt-on-september-20-ending-eight-year-gmt1-saga/
# Today the Moroccan government adopted Decree No. 2.26.530, which abrogates
# the 2018 decree that put it at +01 with daylight saving during Ramadan.
# The plan is to go back to +00 without DST on 2026-09-20 at 02:00.
# From Anass Taghjichte (2026-07-03):
# https://www.sgg.gov.ma/BO/AR/3111/2026/BO_7521_Ar.pdf
# From Afaf EL MAAYATI (2026-07-06):
# https://www.mapexpress.ma/actualite/activite-gouvernementale/conseil-gouvernement-approuve-projet-decret-relatif-au-retour-lheure-legale/

# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Morocco 1939 only - Sep 12 0:00 1:00 -
Expand Down Expand Up @@ -936,143 +937,14 @@ Rule Morocco 2025 only - Feb 23 3:00 -1:00 -
Rule Morocco 2025 only - Apr 6 2:00 0 -
Rule Morocco 2026 only - Feb 15 3:00 -1:00 -
Rule Morocco 2026 only - Mar 22 2:00 0 -
Rule Morocco 2027 only - Feb 7 3:00 -1:00 -
Rule Morocco 2027 only - Mar 14 2:00 0 -
Rule Morocco 2028 only - Jan 23 3:00 -1:00 -
Rule Morocco 2028 only - Mar 5 2:00 0 -
Rule Morocco 2029 only - Jan 14 3:00 -1:00 -
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 - 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 -
Rule Morocco 2033 only - Jan 9 2:00 0 -
Rule Morocco 2033 only - Nov 20 3:00 -1:00 -
Rule Morocco 2033 only - Dec 25 2:00 0 -
Rule Morocco 2034 only - Nov 5 3:00 -1:00 -
Rule Morocco 2034 only - Dec 17 2:00 0 -
Rule Morocco 2035 only - Oct 28 3:00 -1:00 -
Rule Morocco 2035 only - Dec 9 2:00 0 -
Rule Morocco 2036 only - Oct 19 3:00 -1:00 -
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 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 -
Rule Morocco 2040 only - Oct 14 2:00 0 -
Rule Morocco 2041 only - Aug 25 3:00 -1:00 -
Rule Morocco 2041 only - Sep 29 2:00 0 -
Rule Morocco 2042 only - Aug 10 3:00 -1:00 -
Rule Morocco 2042 only - Sep 21 2:00 0 -
Rule Morocco 2043 only - Aug 2 3:00 -1:00 -
Rule Morocco 2043 only - Sep 13 2:00 0 -
Rule Morocco 2044 only - Jul 24 3:00 -1:00 -
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 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 -
Rule Morocco 2048 only - Jul 19 2:00 0 -
Rule Morocco 2049 only - May 30 3:00 -1:00 -
Rule Morocco 2049 only - Jul 4 2:00 0 -
Rule Morocco 2050 only - May 15 3:00 -1:00 -
Rule Morocco 2050 only - Jun 26 2:00 0 -
Rule Morocco 2051 only - May 7 3:00 -1:00 -
Rule Morocco 2051 only - Jun 18 2:00 0 -
Rule Morocco 2052 only - Apr 28 3:00 -1:00 -
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 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 -
Rule Morocco 2056 only - Apr 23 2:00 0 -
Rule Morocco 2057 only - Mar 4 3:00 -1:00 -
Rule Morocco 2057 only - Apr 8 2:00 0 -
Rule Morocco 2058 only - Feb 17 3:00 -1:00 -
Rule Morocco 2058 only - Mar 31 2:00 0 -
Rule Morocco 2059 only - Feb 9 3:00 -1:00 -
Rule Morocco 2059 only - Mar 23 2:00 0 -
Rule Morocco 2060 only - Feb 1 3:00 -1:00 -
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 - 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 -
Rule Morocco 2064 only - Jan 27 2:00 0 -
Rule Morocco 2064 only - Dec 7 3:00 -1:00 -
Rule Morocco 2065 only - Jan 11 2:00 0 -
Rule Morocco 2065 only - Nov 22 3:00 -1:00 -
Rule Morocco 2066 only - Jan 3 2:00 0 -
Rule Morocco 2066 only - Nov 14 3:00 -1:00 -
Rule Morocco 2066 only - Dec 26 2:00 0 -
Rule Morocco 2067 only - Nov 6 3:00 -1:00 -
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 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 -
Rule Morocco 2071 only - Nov 1 2:00 0 -
Rule Morocco 2072 only - Sep 11 3:00 -1:00 -
Rule Morocco 2072 only - Oct 16 2:00 0 -
Rule Morocco 2073 only - Aug 27 3:00 -1:00 -
Rule Morocco 2073 only - Oct 8 2:00 0 -
Rule Morocco 2074 only - Aug 19 3:00 -1:00 -
Rule Morocco 2074 only - Sep 30 2:00 0 -
Rule Morocco 2075 only - Aug 11 3:00 -1:00 -
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 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 -
Rule Morocco 2079 only - Aug 6 2:00 0 -
Rule Morocco 2080 only - Jun 16 3:00 -1:00 -
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 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 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 -
Rule Morocco 2087 only - May 11 2:00 0 -
# For dates after the somewhat-arbitrary cutoff of 2087, assume that
# Morocco will no longer observe DST. At some point this table will
# need to be extended, though quite possibly Morocco will change the
# rules first.

# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
0:00 Morocco %z 1984 Mar 16
1:00 - %z 1986
0:00 Morocco %z 2018 Oct 28 3:00
1:00 Morocco %z
1:00 Morocco %z 2026 Sep 20 2:00
0:00 - %z

# Western Sahara
#
Expand All @@ -1088,7 +960,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 - %z 1976 Apr 14
0:00 Morocco %z 2018 Oct 28 3:00
1:00 Morocco %z
1:00 Morocco %z 2026 Sep 20 2:00
0:00 - %z

# Botswana
# Burundi
Expand Down
File renamed without changes.
24 changes: 18 additions & 6 deletions priv/tzdata2026b/asia → priv/tzdata2026d/asia
Original file line number Diff line number Diff line change
Expand Up @@ -1544,9 +1544,21 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
# leap year calculation involved. There has never been any serious
# plan to change that law....
#
# From Paul Eggert (2022-06-30):
# Go with Pournader for 1935 through spring 1979, and for timestamps
# after August 1991; go with with Shanks & Pottenger for other timestamps.
# From N.F. Hase (2026-07-26):
# Ettela'at (Tehran daily) printed a daily panel headed "taqvim-e
# Ettela'at / sa'at-ha-ye shar'i", attributed to Dr. Riyazi Kermani.
# Each panel gives today's maghrib followed by fajr, sunrise, solar noon
# and maghrib for the next day, together with the Iranian, Hijri and
# Gregorian dates.... 26 May 1979 (5 Khordād 1358)
# https://commons.wikimedia.org/wiki/File:Ettelaat13580305.pdf
# ... That also matches Movahedi's wording, that the government
# returned to DST on 26 May, and the note in the 2022 thread that the
# change was announced one day in advance on 25 May.
#
# From Paul Eggert (2026-07-27):
# Go with Pournader for 1935 through spring 1979 (with the last
# transition clarified by Hase), and for timestamps after August 1991;
# go with Shanks & Pottenger for other timestamps.
# Go with Santoni's citation of the UIT for fall 1977, as 20 October 1977
# is 28 Mehr 1356, consistent with the "Mehr" in Pournader's source.
# Assume that the UIT's "1930" is UTC, i.e., 24:00 local time.
Expand Down Expand Up @@ -1591,13 +1603,13 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
# Work around a bug in zic 2022a and earlier.
Rule Iran 1910 only - Jan 1 00:00 0 -
Rule Iran 1910 only - Jan 1 0:00 0 -
#
Rule Iran 1977 only - Mar 21 23:00 1:00 -
Rule Iran 1977 only - Oct 20 24:00 0 -
Rule Iran 1978 only - Mar 24 24:00 1:00 -
Rule Iran 1978 only - Aug 5 01:00 0 -
Rule Iran 1979 only - May 26 24:00 1:00 -
Rule Iran 1978 only - Aug 5 1:00 0 -
Rule Iran 1979 only - May 26 0:00 1:00 -
Rule Iran 1979 only - Sep 18 24:00 0 -
Rule Iran 1980 only - Mar 20 24:00 1:00 -
Rule Iran 1980 only - Sep 22 24:00 0 -
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1721,7 +1721,7 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
# to Japanese rule was right before 1970, ... per the current tz database
# rule, the information doesn't warrant creation of a new timezone for Bonin
# Islands itself and is thus as an anecdotal note for interest purpose only.
# ... [The abovementioned link] described some special timekeeping phenomenon
# ... [The link mentioned above] described some special timekeeping phenomenon
# regarding Marcus island, another remote island currently owned by Japanese
# in the same administrative unit as Bonin Islands. Many reports claim that
# the American coastal guard on the American quarter of the island use its own
Expand Down
54 changes: 49 additions & 5 deletions priv/tzdata2026b/backward → priv/tzdata2026d/backward
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
# typically use this file for backward compatibility.

# This file is divided into sections, one for each major reason for a
# backward compatibility link. Each section is sorted by link name.
# backward compatibility link or zone. Each section of links is
# sorted by name.

# A "#= TARGET1" comment labels each link inserted only because some
# .zi parsers (including tzcode through 2022e) mishandle links to links.
Expand Down Expand Up @@ -46,7 +47,6 @@ Link America/Noronha Brazil/DeNoronha
Link America/Sao_Paulo Brazil/East
Link America/Manaus Brazil/West
Link Europe/Brussels CET
Link America/Chicago CST6CDT
Link America/Halifax Canada/Atlantic
Link America/Winnipeg Canada/Central
# This line is commented out, as the name exceeded the 14-character limit
Expand All @@ -63,7 +63,6 @@ Link Pacific/Easter Chile/EasterIsland
Link America/Havana Cuba
Link Europe/Athens EET
Link America/Panama EST
Link America/New_York EST5EDT
Link Africa/Cairo Egypt
Link Europe/Dublin Eire
# Vanguard section, for most .zi parsers.
Expand Down Expand Up @@ -104,7 +103,6 @@ Link Pacific/Kwajalein Kwajalein
Link Africa/Tripoli Libya
Link Europe/Brussels MET
Link America/Phoenix MST
Link America/Denver MST7MDT
Link America/Tijuana Mexico/BajaNorte
Link America/Mazatlan Mexico/BajaSur
Link America/Mexico_City Mexico/General
Expand Down Expand Up @@ -326,6 +324,52 @@ Link Europe/Kyiv Europe/Kiev
# However, for various reasons many users expect to find it under Europe.
Link Asia/Nicosia Europe/Nicosia
Link Pacific/Honolulu HST
Link America/Los_Angeles PST8PDT
Link Pacific/Guadalcanal Pacific/Ponape #= Pacific/Pohnpei
Link Pacific/Port_Moresby Pacific/Truk #= Pacific/Chuuk


# The backward-compatibility zones PST8PDT, MST7MDT, CST6CDT, and EST5EDT

# Near-copy of US rules in the northamerica file,
# so that this file can be compiled separately.
# To conform to POSIX, this copy uses D instead of W for War and P for Peace.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule USback 1918 1919 - Mar lastSun 2:00 1:00 D
Rule USback 1918 1919 - Oct lastSun 2:00 0 S
Rule USback 1942 only - Feb 9 2:00 1:00 D # War
Rule USback 1945 only - Aug 14 23:00u 1:00 D # Peace
Rule USback 1945 only - Sep 30 2:00 0 S
Rule USback 1967 2006 - Oct lastSun 2:00 0 S
Rule USback 1967 1973 - Apr lastSun 2:00 1:00 D
Rule USback 1974 only - Jan 6 2:00 1:00 D
Rule USback 1975 only - Feb lastSun 2:00 1:00 D
Rule USback 1976 1986 - Apr lastSun 2:00 1:00 D
Rule USback 1987 2006 - Apr Sun>=1 2:00 1:00 D
Rule USback 2007 max - Mar Sun>=8 2:00 1:00 D
Rule USback 2007 max - Nov Sun>=1 2:00 0 S

# From Arthur David Olson (2005-12-19):
# We generate the files specified below to guard against old files with
# obsolete information being left in the time zone binary directory.
# We limit the list to names that have appeared in previous versions of
# this time zone package.
# We do these as separate Zones rather than as Links to avoid problems if
# a particular place changes whether it observes DST.
#
# From Paul Eggert (2026-07-24):
# These zones are for backward compatibility with Unix System V (1983).
# They are ahistorical, in that they pretend standard time extends
# backward indefinitely into the past.
# They use USback (not US) rules so that they conform to POSIX instead
# of using abbreviations like EWT for Eastern War Time during World War II.
# The zones are here, not in the northamerica file, to lessen
# confusion downstream by making it clear that the zones are present
# only for backward compatibility.
# New software should use settings like TZ='America/New_York' instead
# of these backwards-compatibility zones.
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone PST8PDT -8:00 USback P%sT
Zone MST7MDT -7:00 USback M%sT
Zone CST6CDT -6:00 USback C%sT
Zone EST5EDT -5:00 USback E%sT
File renamed without changes.
Loading