From nobody Tue Sep 15 00:51:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hkNkT2kJmz6sGL6 for ; Tue, 15 Sep 2026 00:51:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hkNkT27ZPz4Jn8 for ; Tue, 15 Sep 2026 00:51:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789433489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=622P8Veg/uXtk5tPW+LJX83uYSPuuIPMYDRXZQJJMbc=; b=tsHLM2S4mPeLLmJGQ+DHhj0xVcYc+Klk2h6pPn2S5hCJBms+kpW5t9+uZUlVg2CkeKvUiy kCVCBNZR1u+zGUoU2UO67pzbkPz+PMiXx9w79VQULO3d1Lw936Rcq2iszqyVUyoIL+muIk uPvnqsKnDToqW7fF7OLQg5JuQca4FgVMl7CiiJaKcGgINaJzByjSFoaaeqPOZXKYZ8DuBZ aaxIqAY6pnaCghDF6Kwbc5RZVZLlNs3lCKyR8QZeEycb90l6zM6cFmbYQHiWQ3LAPn6F9P 9j2Tfwg1HIdVoewdRkqNo/XCgVjBcTKy6h9cVfC8HgX5WmrATVQZbiLAToB7ow== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789433489; b=OPopwRCJzNLZR/CuUUJe09kixnvZMOwXmYMqLAQjfLc2IEm4HZ9ini7YoucKpLwdYYVe1w /KSm80lvJNNFlWeECun7jhD7JUVtfuwizkB85DTZPZ6enwTzn3HiAfV40r+uXDalAHGv1o gGQ6VpP/SnUQ6WMFkrHWp63xyC91an7ogXoCh7jkD+O65bLq44YW1LD6mR5T1Pfam0SB0P yphVssbirCeRo1ZKMfU+Wob9gFkTC2jcd6TS6uRMbqun5CTYHfmwrSmlIJYFNIc54UpWfl fn+3SnhMung5ij44JXhitdjzoy317/UnXMNA3mQfAIchWUq9ySp5mM4dVEWuvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789433489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=622P8Veg/uXtk5tPW+LJX83uYSPuuIPMYDRXZQJJMbc=; b=OWV5J7poF3sb1S/EWJQ4A7vkVJQ7Cjwrk70H1yQzoMHyLEQZ6WkKbB5UCX9e0Zr5staPOK 7FtBxngKmYrZiXUGp5MCPGHSvcX/wvnljeODJ6iI55KUVqp1NNR9T7O2cvqfiVrFMYkz/g S8saXwgeSjMSwDuodqgdpLW7YCImuEzaPrTdJGSxZNKwS1hdluB6dYDbrpYy4JMpgwpp0a IEVKuUCRDlOkrRa9LkZYu2+Z9u58jNDYY+SoRo1swMWZeGUWNnjZkl8PfXLtoyvsgsj8dc oTmsy87gJaYcUCAtNNXgYX4+FfN+8kH52e3vqF85xgNoqbk5nQ2MlDKSav+e+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hkNkT17J6zf4T for ; Tue, 15 Sep 2026 00:51:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e232 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 15 Sep 2026 00:51:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 25985322095d - stable/15 - contrib/tzdata: import tzdata 2026d List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 25985322095d073354d31431da34da1e6871cca5 Auto-Submitted: auto-generated Date: Tue, 15 Sep 2026 00:51:29 +0000 Message-Id: <6aa89691.1e232.48c7f10c@gitrepo.freebsd.org> The branch stable/15 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=25985322095d073354d31431da34da1e6871cca5 commit 25985322095d073354d31431da34da1e6871cca5 Author: Philip Paeps AuthorDate: 2026-09-12 00:29:28 +0000 Commit: Philip Paeps CommitDate: 2026-09-15 00:39:45 +0000 contrib/tzdata: import tzdata 2026d Changes: https://github.com/eggert/tz/blob/2026d/NEWS (cherry picked from commit fe81d42176f04718d7534242dfd4b9f250ac50fc) --- contrib/tzdata/CONTRIBUTING | 2 +- contrib/tzdata/Makefile | 19 ++++--- contrib/tzdata/NEWS | 115 +++++++++++++++++++++++++++++++++++++++- contrib/tzdata/README | 2 +- contrib/tzdata/asia | 24 ++++++--- contrib/tzdata/backward | 54 +++++++++++++++++-- contrib/tzdata/backzone | 11 ++-- contrib/tzdata/northamerica | 126 ++++++++++++++++++++++++++++---------------- contrib/tzdata/southamerica | 29 +++++----- contrib/tzdata/theory.html | 63 +++++++++++----------- contrib/tzdata/version | 2 +- contrib/tzdata/zone.tab | 2 +- contrib/tzdata/zone1970.tab | 2 +- contrib/tzdata/zonenow.tab | 4 +- 14 files changed, 332 insertions(+), 123 deletions(-) diff --git a/contrib/tzdata/CONTRIBUTING b/contrib/tzdata/CONTRIBUTING index c5fa803f7275..213ae67e962a 100644 --- a/contrib/tzdata/CONTRIBUTING +++ b/contrib/tzdata/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” -. + It is also good to browse the mailing list archives for examples of patches that tend to work well. diff --git a/contrib/tzdata/Makefile b/contrib/tzdata/Makefile index f5a22f1896a4..96a7462e9a28 100644 --- a/contrib/tzdata/Makefile +++ b/contrib/tzdata/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/contrib/tzdata/NEWS b/contrib/tzdata/NEWS index dd962b54d529..ae240d31b84e 100644 --- a/contrib/tzdata/NEWS +++ b/contrib/tzdata/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/contrib/tzdata/README b/contrib/tzdata/README index f22ec5492d09..0b69d8ea4a4d 100644 --- a/contrib/tzdata/README +++ b/contrib/tzdata/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 or the +See 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/contrib/tzdata/asia b/contrib/tzdata/asia index dd76bdfc70b7..294eee0095a0 100644 --- a/contrib/tzdata/asia +++ b/contrib/tzdata/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/contrib/tzdata/backward b/contrib/tzdata/backward index 0236751df1da..2971d038b9e6 100644 --- a/contrib/tzdata/backward +++ b/contrib/tzdata/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/contrib/tzdata/backzone b/contrib/tzdata/backzone index b7fd57bfaea3..ed248236a834 100644 --- a/contrib/tzdata/backzone +++ b/contrib/tzdata/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 # (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/contrib/tzdata/northamerica b/contrib/tzdata/northamerica index 3c53eb602ec0..e5f858272c8b 100644 --- a/contrib/tzdata/northamerica +++ b/contrib/tzdata/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/contrib/tzdata/southamerica b/contrib/tzdata/southamerica index bcd4abdfa42c..2a9d60a02c9e 100644 --- a/contrib/tzdata/southamerica +++ b/contrib/tzdata/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/contrib/tzdata/theory.html b/contrib/tzdata/theory.html index 8f76aaf0b3c8..d56e1a79df46 100644 --- a/contrib/tzdata/theory.html +++ b/contrib/tzdata/theory.html @@ -12,6 +12,7 @@ +

Theory and pragmatics of the tz code and data

-

Scope of the tz database

The -

- -

Timezone identifiers

Each timezone has a name that uniquely identifies the timezone. @@ -345,8 +343,7 @@ These legacy names are mostly defined in the file "etcetera". Also, the file "backward" defines the legacy names Etc/GMT0, Etc/GMT-0, Etc/GMT+0, -GMT0, GMT-0 and GMT+0, -and the file "northamerica" defines the legacy names +GMT0, GMT-0, GMT+0, EST5EDT, CST6CDT, MST7MDT, and PST8PDT. @@ -387,11 +384,11 @@ and zone.tab.

The database defines each timezone name to be a zone, or a link to a zone. -The source file backward defines links for backward -compatibility; it does not define zones. +The source file backward defines links +and a few zones for backward compatibility. Although backward 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 backward or in some other file. The source file etcetera defines names that may be useful on platforms that do not support proleptic TZ strings @@ -404,9 +401,7 @@ second information on platforms that support leap seconds. Another etcetera name, GMT, is used by older code releases.

-
-

Time zone abbreviations

When this package is installed, it generates time zone abbreviations @@ -610,9 +605,7 @@ Israel. To avoid ambiguity, use numeric UT offsets like -0600 instead of time zone abbreviations like CST.

-
-

Accuracy of the tz database

The tz database is not authoritative, and it @@ -876,9 +869,7 @@ merely because two locations differ in LMT or transitioned to standard time at different dates.

-
-

Time and date functions

The tz code contains time and date functions @@ -1284,9 +1275,7 @@ The vestigial APIs are: much the better. -

-

Interface stability

The tz code and data supply the following interfaces: @@ -1353,9 +1342,7 @@ than Bangkok by putting Asia/Bangkok in the event’s record, the application should be robust in the presence of timezone splits between now and the future time.

-
-

Leap seconds

Leap seconds were introduced in 1972 to accommodate the @@ -1430,9 +1417,7 @@ Alternatively, you can install just one set of TZif files in the first place; see the REDO variable in this package’s makefile.

-
-

Calendrical issues

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 "calendars" in the tz distribution. They sometimes disagree.

-
-

Time and time zones off Earth

-The European Space Agency is considering -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, NASA -has been began +considering the problem in 2023, and in 2024 +NASA +was ordered to consider the establishment of Coordinated Lunar Time (LTC). -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 +Purple +Mountain Observatory published +Lunar Time Ephemeris +440, the first formal proposal for a standard +for Temps Coordonné Lunaire (TCL). +A draft +resolution of the 13–15 October 2026 General Conference on Weights +and Measures recommends that the Bureau +International des Poids et Mesures collaborate with space agencies +and other organizations on this matter.

@@ -1583,7 +1576,15 @@ Sources for time on other planets: (2016-01-20). -

+
+ +