summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Paeps <philip@FreeBSD.org>2026-09-12 00:25:12 +0000
committerPhilip Paeps <philip@FreeBSD.org>2026-09-12 00:25:12 +0000
commitef5bc5a1160e88267d14afed1df321cf4d5c35f9 (patch)
treec27ce91c1355e78e97f9b9b725c468a95f04a97a
parentdd6fd39608b6197e67fba90d4e1deb15f70b8a4f (diff)
-rw-r--r--CONTRIBUTING2
-rw-r--r--Makefile19
-rw-r--r--NEWS115
-rw-r--r--README2
-rw-r--r--asia24
-rw-r--r--backward54
-rw-r--r--backzone11
-rw-r--r--northamerica126
-rw-r--r--southamerica29
-rw-r--r--theory.html63
-rw-r--r--version2
-rw-r--r--zone.tab2
-rw-r--r--zone1970.tab2
-rw-r--r--zonenow.tab4
14 files changed, 332 insertions, 123 deletions
diff --git a/CONTRIBUTING b/CONTRIBUTING
index c5fa803f7275..213ae67e962a 100644
--- a/CONTRIBUTING
+++ b/CONTRIBUTING
@@ -22,7 +22,7 @@ To email small changes, please run a POSIX shell command like
For more-elaborate or possibly controversial changes,
such as renaming, adding or removing zones, please read
“Theory and pragmatics of the tz code and data”
-<https://www.iana.org/time-zones/repository/theory.html>.
+<https://data.iana.org/time-zones/theory.html>
It is also good to browse the mailing list archives
<https://lists.iana.org/hyperkitty/list/tz@iana.org/>
for examples of patches that tend to work well.
diff --git a/Makefile b/Makefile
index f5a22f1896a4..96a7462e9a28 100644
--- a/Makefile
+++ b/Makefile
@@ -172,9 +172,9 @@ EXPIRES_LINE= 0
TZDATA_TEXT= leapseconds tzdata.zi
-# For backward-compatibility links for old zone names, use
+# For backward-compatibility links and zones for old names, use
# BACKWARD= backward
-# To omit these links, use
+# To omit these links and zones, use
# BACKWARD=
BACKWARD= backward
@@ -574,7 +574,7 @@ SAFE_CHAR= '[]'$(SAFE_CHARSET)'-]'
# These non-alphabetic, non-ASCII printable characters are
# used in commentary or in generated *.txt files
# and are not likely to cause confusion.
-UNUSUAL_OK_CHARSET= §«°±»½¾×–‘’“”•→−≤★⟨⟩⯪
+UNUSUAL_OK_CHARSET= §«°±»½¾¿×–‘’“”•→−≤★⟨⟩⯪
# Put this in a bracket expression to match spaces.
s = [:space:]
@@ -922,7 +922,7 @@ check_mild: check_web check_zishrink \
UTF8_LOCALE_MISSING = \
{ test ! '$(UTF8_LOCALE)' \
|| ! printf 'A\304\200B\n' \
- | LC_ALL='$(UTF8_LOCALE)' grep -q '^A.B$$' >/dev/null 2>&1 \
+ | LC_ALL='$(UTF8_LOCALE)' grep -q '^A[[:alpha:]]B$$' >/dev/null 2>&1 \
|| { export LC_ALL='$(UTF8_LOCALE)'; false; }; }
character-set.ck: $(ENCHILADA)
@@ -1006,11 +1006,11 @@ now.ck: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab
now=$(CHECK_NOW_TIMESTAMP) && \
future=$$(($(CHECK_NOW_FUTURE_SECS) + $$now)) && \
./zdump -i -t $$now,$$future \
- $$(find "$$PWD/$@d"/????*/ -type f) \
+ $$(find "$$PWD/$@d"/????*/ -type f -o -type l) \
>$@d/zdump-now.tab && \
./zdump -i -t 0,$$future \
$$(find "$$PWD/$@d" -name Etc -prune \
- -o -type f ! -name '*.tab' -print) \
+ -o \( -type f -o -type l \) ! -name '*.tab' -print) \
>$@d/zdump-1970.tab && \
$(AWK) \
-v now=$$now \
@@ -1018,7 +1018,12 @@ now.ck: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab
-v zdump_table=$@d/zdump-now.tab \
-f checknow.awk zonenow.tab
$(AWK) \
- 'BEGIN {print "-\t-\tUTC"} /^Zone/ {print "-\t-\t" $$2}' \
+ 'BEGIN { \
+ SysVzone["EST5EDT"] = 1; SysVzone["CST6CDT"] = 1; \
+ SysVzone["MST7MDT"] = 1; SysVzone["PST8PDT"] = 1; \
+ print "-\t-\tUTC" \
+ } \
+ $$1 == "Zone" && !SysVzone[$$2] {print "-\t-\t" $$2}' \
$(PRIMARY_YDATA) backward factory | \
$(AWK) \
-v zdump_table=$@d/zdump-1970.tab \
diff --git a/NEWS b/NEWS
index dd962b54d529..ae240d31b84e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,87 @@
News for the tz database
+Release 2026d - 2026-09-11 15:21:07 -0700
+
+ Briefly:
+ Canada’s Northwest Territories moved to permanent -06 on 2026-08-21.
+ Obsolescent settings like TZ="EST5EDT" now conform better to POSIX.
+ Fix security, performance and porting bugs in zic and localtime.
+
+ Changes to future timestamps
+
+ Canada’s Northwest Territories will not fall back on 2026-11-01
+ and will stay on -06 year-round, matching Alberta’s recent change.
+ Model this with its traditional abbreviation CST. Although the
+ change to permanent -06 legally took place on 2026-08-21,
+ temporarily model the change to occur on 2026-11-01 at 02:00
+ for the same reason as other recent temporary hacks. (Caution:
+ see “NOTE FOR 2026b TEMPORARY HACK FOR CLDR AND CANADA” below.)
+ This affects only America/Inuvik as the rest of the territory is
+ covered by America/Edmonton, for which the equivalent change was
+ released in 2026c.
+
+ Changes to past timestamps
+
+ Colombia’s 1992-05-02 spring forward was at 00:00, not 24:00.
+
+ Iran’s 1979-05-26 spring forward was at 00:00, not 24:00.
+ (Thanks to N.F. Hase.)
+
+ The backward-compatibility names EST5EDT, CST6CDT, MST7MDT, and
+ PST8PDT now conform better to POSIX. For example, EST5EDT now
+ always uses the abbreviation "EST" for standard time (now always 5
+ hours behind UT) and "EDT" for daylight saving time, whereas it
+ formerly had different UT offsets before standard time was
+ introduced and sometimes used abbreviations like "LMT", "EWT" and
+ "EPT", all contrary to POSIX. Also, though not required by POSIX
+ these names now use US federal rules rather than rules of places
+ like New York, reverting to 2024a behavior. This change affects
+ only timestamps before 1966-10-30 at 01:00 standard time.
+
+ Other data changes
+
+ The temporary hacks used for North American timekeeping changes
+ now work around a libstdc++ std::chrono bug in GCC 14.1-14.4,
+ 15.1-15.2, and 16.1; see GCC bug 124851. This data change does
+ not affect TZif files or timestamps. The change does not work
+ around the related but less serious GCC bugs 116110 and 124513.
+ These GCC bugs are all fixed in GCC 16.2.
+
+ Changes to code
+
+ zic now rejects Link targets that would have invalid names, and
+ more efficiently processes Expires, Leap and Rule lines with years
+ far in the past or future. (Thanks to Darren Carreras.)
+
+ zic now ports to systems that report lack of link support via
+ EINVAL, ENOSYS or EPERM errno values. (Thanks to Tom Lane.)
+
+ When tzset and related functions encounter a TZif file that is too
+ large for them, they now consistently fail instead of sometimes
+ silently ignoring excess parts of the file.
+
+ localtime-related functions no longer mishandle extreme timestamps
+ when given TZif files holding some unlikely timezone histories.
+ (Problem reported by David Sarkisyan.)
+
+ localtime-related functions no longer check the values of TZif
+ files’ standard/wall and UT/local indicators, which these
+ functions have not used since 2026a’s removal of the old
+ posixrules feature.
+
+ tzcode has been ported to Haiku.
+
+ localtime.c now works again by default on AIX and DragonFly BSD.
+
+ zic now rejects ‘:’ and ‘\’ in Zone and Link names when running on
+ Microsoft Windows. (Problem reported by David Diaz.)
+
+ Changes to documentation
+
+ URLs for release tarballs in tz-link.html have been updated to
+ reflect their new canonical URLs on data.iana.org.
+
+
Release 2026c - 2026-07-08 10:23:58 -0700
Briefly:
@@ -15,7 +97,13 @@ Release 2026c - 2026-07-08 10:23:58 -0700
CST. Although the change to permanent -06 legally took place on
2026-06-18, temporarily model the change to occur on 2026-11-01 at
02:00 instead, for the same reason we introduced a similarly
- temporary hack for British Columbia in 2026b.
+ temporary hack for British Columbia in 2026b. (Caution: see
+ “NOTE FOR 2026b TEMPORARY HACK FOR CLDR AND CANADA” below.)
+
+ As the change affects both America/Edmonton and its backward
+ compatibility link, the obsolescent setting TZ="Canada/Mountain"
+ will now use the abbreviation CST for affected timestamps,
+ akin to TZ="Canada/Pacific" behavior introduced in 2026b.
Although another TZDB release will likely be needed soon because
Northwest Territories will likely follow Alberta, the legal
@@ -67,6 +155,7 @@ Release 2026b - 2026-04-22 23:06:43 -0700
Briefly:
British Columbia moved to permanent -07 on 2026-03-09.
+ zic no longer mishandles a last transition to a new time type.
Some more overflow bugs have been fixed in zic.
Changes to future timestamps
@@ -79,9 +168,33 @@ Release 2026b - 2026-04-22 23:06:43 -0700
limitation in CLDR 48.1 (2026-01-08). This temporary hack is
planned to be removed after CLDR is fixed.
+ To match longstanding practice for -07 standard time in North
+ America, such as for America/Dawson, America/Dawson_Creek,
+ America/Fort_Nelson and America/Whitehorse, affected BC
+ timestamps use the abbreviation MST. As the change affects both
+ America/Vancouver and its backward compatibility link, the
+ obsolescent setting TZ="Canada/Pacific" will now use the
+ abbreviation MST. Future TZDB releases may change the
+ abbreviation if something else becomes popular across areas
+ observing -07, and may change it to "-07" if no alphabetic
+ consensus emerges.
+
Changes to code
zic no longer mishandles a last transition to a new time type.
+ NOTE FOR 2026b TEMPORARY HACK FOR CLDR AND CANADA:
+ This zic fix is needed for the temporary hack (mentioned above)
+ that works around the Canadian timekeeping bug in Unicode CLDR.
+ Without the fix, the temporary hack causes zic versions 2023d
+ through 2026a, in their default mode that generates slim output,
+ to generate a TZif file that violates Internet RFC 9636 §3.3.
+ The buggy file in turn causes some TZif readers, including tzcode
+ itself, to ignore America/Vancouver’s 2026-11-01 02:00 transition
+ from PDT (tm_isdst=1) to MST (tm_isdst=0). Although the buggy
+ file does not cause any known TZif reader to mishandle UT offsets,
+ caution is advised when using zic 2023d through 2026a to compile
+ data from more-recent tz releases. To work around this problem
+ when using these older zic versions, use ‘zic -b fat’.
zic no longer overflows a buffer when generating a TZ string like
"PST-167:59:58PDT-167:59:59,M11.5.6/-167:59:59,M12.5.6/-167:59:59",
diff --git a/README b/README
index f22ec5492d09..0b69d8ea4a4d 100644
--- a/README
+++ b/README
@@ -10,7 +10,7 @@ locations around the globe. It is updated periodically to reflect
changes made by political bodies to time zone boundaries, UTC offsets,
and daylight-saving rules.
-See <https://www.iana.org/time-zones/repository/tz-link.html> or the
+See <https://data.iana.org/time-zones/tz-link.html> or the
file tz-link.html for how to acquire the code and data.
Once acquired, read the leading comments in the file ‘Makefile’
diff --git a/asia b/asia
index dd76bdfc70b7..294eee0095a0 100644
--- a/asia
+++ b/asia
@@ -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.
@@ -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 -
diff --git a/backward b/backward
index 0236751df1da..2971d038b9e6 100644
--- a/backward
+++ b/backward
@@ -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.
@@ -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
@@ -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.
@@ -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
@@ -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
diff --git a/backzone b/backzone
index b7fd57bfaea3..ed248236a834 100644
--- a/backzone
+++ b/backzone
@@ -927,9 +927,10 @@ Zone America/Tortola -4:18:28 - LMT 1911 Jul # Road Town
-4:00 - AST
# Yellowknife, Northwest Territories
-Zone America/Yellowknife 0 - -00 1935 # Yellowknife founded?
- -7:00 NT_YK M%sT 1980
- -7:00 Canada M%sT
+# Commented out as too wrong to be useful.
+#Zone America/Yellowknife 0 - -00 1935 # Yellowknife founded?
+# -7:00 NT_YK M%sT 1980
+# -7:00 Canada M%sT
# Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11
# <https://en.wikipedia.org/wiki/Dumont_d'Urville_Station> (2005-12-05)
@@ -1836,12 +1837,8 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone HST -10:00 - HST
-Zone PST8PDT -8:00 US P%sT
Zone MST -7:00 - MST
-Zone MST7MDT -7:00 US M%sT
-Zone CST6CDT -6:00 US C%sT
Zone EST -5:00 - EST
-Zone EST5EDT -5:00 US E%sT
Zone WET 0:00 EU WE%sT
Zone CET 1:00 C-Eur CE%sT
Zone MET 1:00 C-Eur ME%sT
diff --git a/northamerica b/northamerica
index 3c53eb602ec0..e5f858272c8b 100644
--- a/northamerica
+++ b/northamerica
@@ -96,7 +96,7 @@
# was the first nationwide legal time standard, and apparently
# time was just called "Standard Time" or "Daylight Saving Time".
-# From Paul Eggert (2019-06-04):
+# From Paul Eggert (2019-06-04) and Tim Parenti (2026-07-21):
# Here is the legal basis for the US federal rules.
# * Public Law 65-106 (1918-03-19) implemented standard and daylight saving
# time for the first time across the US, springing forward on March's last
@@ -111,10 +111,15 @@
# * Public Law 89-387 (1966-04-13) reinstituted a national standard for DST,
# from April's last Sunday to October's last Sunday, effective 1967.
# https://www.govinfo.gov/content/pkg/STATUTE-80/pdf/STATUTE-80-Pg107.pdf
-# * Public Law 93-182 (1973-12-15) moved the 1974 spring-forward to 01-06.
+# * Public Law 93-182 (1973-12-15) applied DST year-round as an emergency
+# measure. It took effect on the fourth Sunday after its enactment,
+# effectively moving the 1974 spring-forward to 01-06.
# https://www.govinfo.gov/content/pkg/STATUTE-87/pdf/STATUTE-87-Pg707.pdf
-# * Public Law 93-434 (1974-10-05) moved the 1975 spring-forward to
-# February's last Sunday.
+# It was meant to last for 16 months or two winters (through 1975-04-27);
+# however...
+# * Public Law 93-434 (1974-10-05) created an exemption for much of the second
+# winter, restoring standard time from the usual date of 1974-10-27 while
+# moving the 1975 spring-forward up to February's last Sunday.
# https://www.govinfo.gov/content/pkg/STATUTE-88/pdf/STATUTE-88-Pg1209.pdf
# * Public Law 99-359 (1986-07-08) moved the spring-forward to April's first
# Sunday.
@@ -575,8 +580,12 @@ Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 20:00u
# Russian time, and it is more accurate to model this than to ignore it.
# The database format requires an exact transition time; use the Russian
# salute as a somewhat-arbitrary time for the formal transfer of control for
-# all of Alaska. Sitka's UTC offset is -9:01:13; adjust its 15:30 to the
-# local times of other Alaskan locations so that they change simultaneously.
+# all of Alaska.
+#
+# From Tim Parenti (2026-08-26):
+# Sitka's UT offset changed from +14:58:47 to -9:01:13, so effectuate this
+# change at 15:30:00 +14:58:47, or 1867-10-19 00:31:13 UT in the Alaskan
+# locations below.
# From Paul Eggert (2014-07-18):
# One opinion of the early 1980s turmoil in Alaska over time zones and
@@ -656,7 +665,7 @@ Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 20:00u
# and are west of 169.5° W.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 15:33:32
+Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 0:31:13u
-8:57:41 - LMT 1900 Aug 20 12:00
-8:00 - PST 1942
-8:00 US P%sT 1946
@@ -666,7 +675,7 @@ Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 15:33:32
-8:00 US P%sT 1983 Oct 30 2:00
-9:00 US Y%sT 1983 Nov 30
-9:00 US AK%sT
-Zone America/Sitka 14:58:47 - LMT 1867 Oct 19 15:30
+Zone America/Sitka 14:58:47 - LMT 1867 Oct 19 0:31:13u
-9:01:13 - LMT 1900 Aug 20 12:00
-8:00 - PST 1942
-8:00 US P%sT 1946
@@ -674,7 +683,7 @@ Zone America/Sitka 14:58:47 - LMT 1867 Oct 19 15:30
-8:00 US P%sT 1983 Oct 30 2:00
-9:00 US Y%sT 1983 Nov 30
-9:00 US AK%sT
-Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 15:44:55
+Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 0:31:13u
-8:46:18 - LMT 1900 Aug 20 12:00
-8:00 - PST 1942
-8:00 US P%sT 1946
@@ -684,14 +693,14 @@ Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 15:44:55
-9:00 US AK%sT 2018 Nov 4 2:00
-8:00 - PST 2019 Jan 20 2:00
-9:00 US AK%sT
-Zone America/Yakutat 14:41:05 - LMT 1867 Oct 19 15:12:18
+Zone America/Yakutat 14:41:05 - LMT 1867 Oct 19 0:31:13u
-9:18:55 - LMT 1900 Aug 20 12:00
-9:00 - YST 1942
-9:00 US Y%sT 1946
-9:00 - YST 1969
-9:00 US Y%sT 1983 Nov 30
-9:00 US AK%sT
-Zone America/Anchorage 14:00:24 - LMT 1867 Oct 19 14:31:37
+Zone America/Anchorage 14:00:24 - LMT 1867 Oct 19 0:31:13u
-9:59:36 - LMT 1900 Aug 20 12:00
-10:00 - AST 1942
-10:00 US A%sT 1967 Apr
@@ -699,7 +708,7 @@ Zone America/Anchorage 14:00:24 - LMT 1867 Oct 19 14:31:37
-10:00 US AH%sT 1983 Oct 30 2:00
-9:00 US Y%sT 1983 Nov 30
-9:00 US AK%sT
-Zone America/Nome 12:58:22 - LMT 1867 Oct 19 13:29:35
+Zone America/Nome 12:58:22 - LMT 1867 Oct 19 0:31:13u
-11:01:38 - LMT 1900 Aug 20 12:00
-11:00 - NST 1942
-11:00 US N%sT 1946
@@ -708,7 +717,7 @@ Zone America/Nome 12:58:22 - LMT 1867 Oct 19 13:29:35
-11:00 US B%sT 1983 Oct 30 2:00
-9:00 US Y%sT 1983 Nov 30
-9:00 US AK%sT
-Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35
+Zone America/Adak 12:13:22 - LMT 1867 Oct 19 0:31:13u
-11:46:38 - LMT 1900 Aug 20 12:00
-11:00 - NST 1942
-11:00 US N%sT 1946
@@ -1937,7 +1946,7 @@ Zone America/Swift_Current -7:11:20 - LMT 1905 Sep
# https://docs.assembly.ab.ca/LADDAR_files/docs/bills/bill/legislature_31/session_2/20251023_bill-031.pdf
# would repeal the Daylight Saving Time Act in the Revised Statutes of Alberta
# 2000 Chapter D-5:
-# https://kings-printer.alberta.ca/documents/Acts/D05.pdf
+# https://web.archive.org/web/20240128134751/https://kings-printer.alberta.ca/documents/Acts/D05.pdf
# ...and substitutes a new chapter with language that closely parallels the
# original. The new title is the Official Time Act and will be numbered
# Chapter O-5.7. The Act establishes a standard time of UTC−6 without
@@ -1967,6 +1976,10 @@ Zone America/Swift_Current -7:11:20 - LMT 1905 Sep
# term is reviewed by then for relevancy and need. This plan for possible
# obsolescence affects neither timekeeping nor TZDB’s data, which do
# not contain the string “Alberta Time”.
+#
+# From Tim Parenti (2026-07-21):
+# The new Official Time Act is now in the Revised Statutes as Chapter O-5.7:
+# https://kings-printer.alberta.ca/documents/Acts/O05p7.pdf
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Edm 1918 1919 - Apr Sun>=8 2:00 1:00 D
@@ -1987,7 +2000,7 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
-7:00 Edm M%sT 1987
-7:00 Canada M%sT 2026 Jun 18
# Temporary hack; see above.
- -7:00 1:00 MDT 2026 Nov 1 2:00
+ -7:00 Canada MDT 2026 Nov 1 2:00
# End of temporary hack.
-6:00 - CST
@@ -2061,23 +2074,42 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
# -07 - accurate and clear in itself, but makes BC look odd vs neighbors
# PacT - straightforward but novel abbreviation for Pacific Time
-# From Chris Walton (2026-03-15):
-# The Regional District of East Kootenay is planning to move to year-round
-# Mountain Standard Time (MST) on November 1, 2026....
-# https://www.rdek.bc.ca/news/entry/rdek_board_moves_to_transition_to_year_round_mountain_standard_time
-# (2026-03-17):
-# The final decision East Kootenay made a few days ago may turn out not to
-# be final after all. They are going to reopen the debate next month!
+# From Tim Parenti (2026-08-21):
+# In the southeast of the province, the Regional District of East Kootenay
+# (RDEK), Columbia Shuswap Regional District’s Electoral Area A (Rural Golden),
+# and the Town of Golden have all historically been aligned with neighboring
+# Alberta and use America/Edmonton.
+#
+# Shortly after the BC provincial government announced its adoption of
+# year-round -07, the RDEK Board of Directors on 2026-03-13 initially voted
+# narrowly, 8–7, that it would fall back one last time to rejoin the rest of BC
+# on -07 from November 2026. However, citing the rushed decision and lack of
+# feedback from residents, Mayor Steve Fairbairn of Elkford used his power to
+# ask the question be called a second time, remarking, “Pardon the pun, but
+# this is not a time-sensitive issue,” and the initial decision was rescinded
+# by the RDEK Board at its 2026-04-10 meeting.
# https://www.cbc.ca/news/canada/british-columbia/what-time-is-it-in-the-east-kootenay-debate-9.7132624
-# From Paul Eggert (2026-03-17):
-# Mayor Steve Fairbairn of Elkford asked the question be called a second time,
-# saying, “Pardon the pun, but this is not a time-sensitive issue.”
-# For now, merely mention the potential change in these comments.
-# If it happens it would likely affect clocks starting 2027-03-14 at 02:00.
-# From Tim Parenti (2026-05-14):
-# RDEK has historically been aligned with neighboring Alberta. With the latter
-# now opting to stay on -06 year-round, if RDEK does not follow, it would
-# require a new zone for the Cranbrook area.
+# In the ensuing months, after Alberta announced and implemented its similar
+# shift to “permanent DST” (see above), RDEK coordinated a public survey across
+# all of the relevant BC communities. The survey found 89% of respondents in
+# favor of ending seasonal time changes, with 66% of that group preferring to
+# remain aligned with Alberta time on year-round -06 instead of the rest of BC.
+# In line with those results, the RDEK Board adopted year-round -06 at its
+# 2026-08-14 meeting.
+# https://www.cbc.ca/news/canada/british-columbia/east-kootenay-stops-changing-clocks-9.7308201
+#
+# From Tim Parenti (2026-09-10):
+# Although on 2026-09-01 the Town of Golden voted instead to split its
+# timekeeping practice from RDEK and rejoin BC on year-round -07, this was met
+# with significant pushback from residents in Golden and CSRD Area A. In light
+# of these public comments, CSRD voted on 2026-09-10 to defer its decision on
+# timekeeping in Area A “to gather and assess further information before a
+# decision is implemented”. As such, at time of writing, it seems likely that
+# Golden may soon revisit its decision as well.
+#
+# For now, these areas remain aligned with America/Edmonton, but if they
+# diverge, a new zone with a name like 'America/Brit_Columbia/Golden' would be
+# needed.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Vanc 1918 only - Apr 14 2:00 1:00 D
@@ -2094,7 +2126,7 @@ Zone America/Vancouver -8:12:28 - LMT 1884
-8:00 Vanc P%sT 1987
-8:00 Canada P%sT 2026 Mar 9
# Temporary hack; see above.
- -8:00 1:00 PDT 2026 Nov 1 2:00
+ -8:00 Canada PDT 2026 Nov 1 2:00
# End of temporary hack.
-7:00 - MST
Zone America/Dawson_Creek -8:00:56 - LMT 1884
@@ -2429,15 +2461,17 @@ Zone America/Fort_Nelson -8:10:47 - LMT 1884
# end seasonal time changes until Alberta does."
# https://www.cbc.ca/news/canada/north/nwt-ends-daylight-saving-9.7170964
#
-# From Tim Parenti (2026-06-19), per James Bellaire (2026-06-02):
-# Much of NWT has, to date, been represented by America/Edmonton, which alias
-# America/Yellowknife links to. While Bill 13 (assented to 2021-03-31) would
-# enable NWT's proposed change mirroring Alberta's, at time of writing it has
-# not yet been formally enacted; if it doesn't move forward as expected,
-# America/Yellowknife would need to become its own zone as Alberta has stopped
-# changing its clocks.
-# If it does go ahead, draft changes to America/Inuvik, which represents the
-# remainder of NWT, are commented below.
+# From Tim Parenti (2026-07-24):
+# Now that Alberta has adopted year-round -06, NWT plans to follow through with
+# the same. Bill 13 of the 19th Assembly's 2nd Session, assented to
+# 2021-03-31, provides the NWT Commissioner in Executive Council with authority
+# to fix a year-round standard time:
+# https://www.ntlegislativeassembly.ca/sites/default/files/legacy/bill_13_-_reprint_-_interpretation_a.pdf
+#
+# From Paul Eggert (2026-08-21):
+# The regulations were registered 2026-08-18 and came into force today:
+# https://www.justice.gov.nt.ca/en/files/legislation/interpretation/interpretation.r2.pdf
+# Use a temporary hack like Alberta’s.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule NT_YK 1918 only - Apr 14 2:00 1:00 D
@@ -2480,11 +2514,11 @@ Zone America/Cambridge_Bay 0 - -00 1920 # trading post est.?
Zone America/Inuvik 0 - -00 1953 # Inuvik founded
-8:00 NT_YK P%sT 1979 Apr lastSun 2:00
-7:00 NT_YK M%sT 1980
- -7:00 Canada M%sT
-# Assuming Northwest Territories follows Alberta in abolishing seasonal time
-# changes, replace the above line with something like:
-# -7:00 Canada M%sT 2026 Nov 1 2:00
-# -6:00 - CST
+ -7:00 Canada M%sT 2026 Aug 21
+ # Temporary hack; see above.
+ -7:00 Canada MDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -6:00 - CST
Zone America/Whitehorse -9:00:12 - LMT 1900 Aug 20
-9:00 NT_YK Y%sT 1965
-9:00 Yukon Y%sT 1966 Feb 27 0:00
diff --git a/southamerica b/southamerica
index bcd4abdfa42c..2a9d60a02c9e 100644
--- a/southamerica
+++ b/southamerica
@@ -1330,20 +1330,9 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# promulgated 2022-07-14 and published 2022-08-13:
# https://www.diariooficial.interior.gob.cl/publicaciones/2022/08/13/43327/01/2172567.pdf
# https://www.bcn.cl/leychile/navegar?idNorma=1179983
-#
-# From Paul Eggert (2022-08-17):
-# Although the presidential decree stops at fall 2026, assume that
-# similar DST rules will continue thereafter.
-# From Paul Eggert (2025-01-15):
-# Diario Regional Aysén's Sebastián Martel reports that 94% of Aysén
-# citizens polled in November favored changing the rules from
-# -04/-03-with-DST to -03 all year...
-# https://www.diarioregionalaysen.cl/noticia/actualidad/2024/12/presentan-decision-que-gano-la-votacion-sobre-el-cambio-del-huso-horario-en-aysen
-#
# From Yonathan Dossow (2025-03-20):
-# [T]oday we have more confirmation of the change. [Aysén] region will keep
-# UTC-3 all year...
+# [Aysén] region will keep UTC-3 all year...
# https://www.cnnchile.com/pais/region-de-aysen-mantendra-horario-de-verano-todo-el-ano_20250320/
# https://www.latercera.com/nacional/noticia/tras-consulta-ciudadana-region-de-aysen-mantendra-el-horario-de-verano-durante-todo-el-ano/
# https://x.com/min_interior/status/1902692504270672098
@@ -1355,6 +1344,14 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# https://www.bcn.cl/leychile/Navegar?idNorma=1211955
# Model this as a change to standard offset effective 2025-03-20.
+# From Paul Eggert (2026-08-11):
+# Chile’s timekeeping regime is renewed by Decreto 98 of 2026 of the
+# Ministry of the Interior, Undersecretariat of the Interior,
+# promulgated 2026-06-30 and published 2026-07-02:
+# https://www.bcn.cl/leychile/navegar?idNorma=1225724
+# Although this decree stops at fall 2029, assume that
+# similar DST rules will continue thereafter.
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Chile 1927 1931 - Sep 1 0:00 1:00 -
Rule Chile 1928 1932 - Apr 1 0:00 0 -
@@ -1472,13 +1469,19 @@ Zone Antarctica/Palmer 0 - -00 1965
# Milne gives 4:56:16.4 for Bogotá time in 1899. He writes,
# "A variation of fifteen minutes in the public clocks of Bogota is not rare."
+# From Paul Eggert (2026-07-17):
+# The 1992 spring forward was May 2 at 00:00. See:
+# Jiménez FA. La noche en que Colombia perdió una hora para encarar el apagón,
+# ¿se repetirá la historia en 2026? El Colombiano. 2026-06-21.
+# https://www.elcolombiano.com/negocios/colombia-perdio-una-hora-para-evitar-apagon-horario-gaviria-LF37983109
+
# From Alois Treindl (2022-11-10):
# End of time change in Colombia 1993 ... should be 6 February 24h ...
# DECRETO 267 DE 1993
# https://www.suin-juriscol.gov.co/viewDocument.asp?ruta=Decretos/1061335
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule CO 1992 only - May 3 0:00 1:00 -
+Rule CO 1992 only - May 2 0:00 1:00 -
Rule CO 1993 only - Feb 6 24:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#STDOFF -4:56:16.4
diff --git a/theory.html b/theory.html
index 8f76aaf0b3c8..d56e1a79df46 100644
--- a/theory.html
+++ b/theory.html
@@ -12,6 +12,7 @@
</head>
<body>
+<main>
<h1>Theory and pragmatics of the <code><abbr>tz</abbr></code> code and data</h1>
<nav>
<ul>
@@ -26,10 +27,10 @@
<li><a href="#leapsec">Leap seconds</a></li>
<li><a href="#calendar">Calendrical issues</a></li>
<li><a href="#planets">Time and time zones off earth</a></li>
+ <li><a href="#see-also">See also</a></li>
</ul>
</nav>
-<section>
<h2 id="scope">Scope of the <code><abbr>tz</abbr></code> database</h2>
<p>
The <a
@@ -112,9 +113,6 @@ It does not always make sense to talk about a timezone’s
“base offset”, which is not necessarily a single number.
</p>
-</section>
-
-<section>
<h2 id="naming">Timezone identifiers</h2>
<p>
Each timezone has a name that uniquely identifies the timezone.
@@ -345,8 +343,7 @@ These legacy names are mostly defined in the file
"<code>etcetera</code>".
Also, the file "<code>backward</code>" defines the legacy names
<code>Etc/GMT0</code>, <code>Etc/GMT-0</code>, <code>Etc/GMT+0</code>,
-<code>GMT0</code>, <code>GMT-0</code> and <code>GMT+0</code>,
-and the file "<code>northamerica</code>" defines the legacy names
+<code>GMT0</code>, <code>GMT-0</code>, <code>GMT+0</code>,
<code>EST5EDT</code>, <code>CST6CDT</code>,
<code>MST7MDT</code>, and <code>PST8PDT</code>.
</li>
@@ -387,11 +384,11 @@ and <code>zone.tab</code>.
<p>
The database defines each timezone name to be a zone, or a link to a zone.
-The source file <code>backward</code> defines links for backward
-compatibility; it does not define zones.
+The source file <code>backward</code> defines links
+and a few zones for backward compatibility.
Although <code>backward</code> was originally designed to be optional,
nowadays distributions typically use it
-and no great weight should be attached to whether a link
+and no great weight should be attached to whether a link or zone
is defined in <code>backward</code> or in some other file.
The source file <code>etcetera</code> defines names that may be useful
on platforms that do not support proleptic <code>TZ</code> strings
@@ -404,9 +401,7 @@ second information on platforms that support leap seconds.
Another <code>etcetera</code> name, <code>GMT</code>,
is used by older code releases.
</p>
-</section>
-<section>
<h2 id="abbreviations">Time zone abbreviations</h2>
<p>
When this package is installed, it generates time zone abbreviations
@@ -610,9 +605,7 @@ Israel.
To avoid ambiguity, use numeric <abbr>UT</abbr> offsets like
<code>-</code>0600 instead of time zone abbreviations like CST.
</p>
-</section>
-<section>
<h2 id="accuracy">Accuracy of the <code><abbr>tz</abbr></code> database</h2>
<p>
The <code><abbr>tz</abbr></code> database is not authoritative, and it
@@ -876,9 +869,7 @@ merely because two locations
differ in <abbr>LMT</abbr> or transitioned to standard time at
different dates.
</p>
-</section>
-<section>
<h2 id="functions">Time and date functions</h2>
<p>
The <code><abbr>tz</abbr></code> code contains time and date functions
@@ -1284,9 +1275,7 @@ The vestigial <abbr>API</abbr>s are:
much the better.
</li>
</ul>
-</section>
-<section>
<h2 id="stability">Interface stability</h2>
<p>
The <code><abbr>tz</abbr></code> code and data supply the following interfaces:
@@ -1353,9 +1342,7 @@ than Bangkok by putting <samp>Asia/Bangkok</samp> in the event’s record,
the application should be robust in the presence of timezone splits
between now and the future time.
</p>
-</section>
-<section>
<h2 id="leapsec">Leap seconds</h2>
<p>
Leap seconds were introduced in 1972 to accommodate the
@@ -1430,9 +1417,7 @@ Alternatively, you can install just one set of <abbr>TZif</abbr> files
in the first place; see the <code>REDO</code> variable in this package’s
<a href="https://en.wikipedia.org/wiki/Makefile">makefile</a>.
</p>
-</section>
-<section>
<h2 id="calendar">Calendrical issues</h2>
<p>
Calendrical issues are a bit out of scope for a time zone database,
@@ -1446,22 +1431,30 @@ Other information and sources are given in the file "<code>calendars</code>"
in the <code><abbr>tz</abbr></code> distribution.
They sometimes disagree.
</p>
-</section>
-<section>
<h2 id="planets">Time and time zones off Earth</h2>
<p>
-The European Space Agency is <a
-href="https://www.esa.int/Applications/Satellite_navigation/Telling_time_on_the_Moon">considering</a>
-the establishment of a reference timescale for the Moon, which has
+Efforts are underway to establish a reference timescale for the Moon, which has
days roughly equivalent to 29.5 Earth days, and where relativistic
effects cause clocks to tick slightly faster than on Earth.
-Also, <abbr title="National Aeronautics and Space Administration">NASA</abbr>
-has been <a
+The European Space Agency <a
+href="https://www.esa.int/Applications/Satellite_navigation/Telling_time_on_the_Moon">began
+considering</a> the problem in 2023, and in 2024
+<abbr title="National Aeronautics and Space Administration">NASA</abbr>
+was <a
href="https://bidenwhitehouse.archives.gov/wp-content/uploads/2024/04/Celestial-Time-Standardization-Policy.pdf">ordered</a>
to consider the establishment of Coordinated Lunar Time (<abbr>LTC</abbr>).
-It is not yet known whether the US and European efforts will result in
-multiple timescales on the Moon.
+In 2025 a team at China’s
+<a href="https://en.wikipedia.org/wiki/Purple_Mountain_Observatory">Purple
+Mountain Observatory</a> published
+<a href="https://doi.org/10.1051/0004-6361/202557345">Lunar Time Ephemeris
+440</a>, the first formal proposal for a standard
+for Temps Coordonné Lunaire (<abbr>TCL</abbr>).
+A <a href="https://www.bipm.org/documents/20126/284836054/CGPM-2026-Draft-Resolutions.pdf">draft
+resolution of the 13–15 October 2026 General Conference on Weights
+and Measures</a> recommends that the <a href="https://www.bipm.org/en/">Bureau
+International des Poids et Mesures</a> collaborate with space agencies
+and other organizations on this matter.
</p>
<p>
@@ -1583,7 +1576,15 @@ Sources for time on other planets:
(2016-01-20).
</li>
</ul>
-</section>
+</main>
+
+<aside>
+<h2 id="see-also">See also</h2>
+<ul>
+<li><a href="tz-link.html">Time zone and daylight saving time data</a></li>
+<li><a href="tz-art.html">Time and the arts</a></li>
+</ul>
+</aside>
<footer>
<hr>
diff --git a/version b/version
index 9217a2da674e..b62e2687afbb 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2026c
+2026d
diff --git a/zone.tab b/zone.tab
index 69d50bd8ae3b..8ff275a24978 100644
--- a/zone.tab
+++ b/zone.tab
@@ -123,7 +123,7 @@ CA +5024-10439 America/Regina CST - SK (most areas)
CA +5017-10750 America/Swift_Current CST - SK (midwest)
CA +5333-11328 America/Edmonton CST - AB, BC(E), NT(E), SK(W)
CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west)
-CA +682059-1334300 America/Inuvik Mountain - NT (west)
+CA +682059-1334300 America/Inuvik CST - NT (west)
CA +4916-12307 America/Vancouver MST - BC (most areas)
CA +4906-11631 America/Creston MST - BC (Creston)
CA +5546-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
diff --git a/zone1970.tab b/zone1970.tab
index 635eabcbf2d3..0c6a15c5be41 100644
--- a/zone1970.tab
+++ b/zone1970.tab
@@ -114,7 +114,7 @@ CA +5024-10439 America/Regina CST - SK (most areas)
CA +5017-10750 America/Swift_Current CST - SK (midwest)
CA +5333-11328 America/Edmonton CST - AB, BC(E), NT(E), SK(W)
CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west)
-CA +682059-1334300 America/Inuvik Mountain - NT (west)
+CA +682059-1334300 America/Inuvik CST - NT (west)
CA +4916-12307 America/Vancouver MST - BC (most areas)
CA +5546-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
diff --git a/zonenow.tab b/zonenow.tab
index 9c3a8cf3c1b5..1c9b44b0499b 100644
--- a/zonenow.tab
+++ b/zonenow.tab
@@ -65,10 +65,10 @@ XX +4916-12307 America/Vancouver Mountain Standard (MST) - British Columbia (mos
XX +332654-1120424 America/Phoenix Mountain Standard (MST) - Arizona; western Mexico; Yukon
#
# -07/-06 - MST/MDT (North America DST)
-XX +394421-1045903 America/Denver Mountain (MST/MDT) - US; Mexico near US border; northern Canada
+XX +394421-1045903 America/Denver Mountain (MST/MDT) - US; Mexico near US border; western Nunavut
#
# -07/-06 - MST/MDT (North America DST) until 2026-11-01 02:00; then CST
-XX +5333-11328 America/Edmonton Central Standard (CST) - Alberta and some neighbors
+XX +5333-11328 America/Edmonton Central Standard (CST) - Alberta, NWT, and some neighbors
#
# -06
XX -0054-08936 Pacific/Galapagos Galápagos