tz
Threads by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1999 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1998 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1997 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1996 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1995 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1994 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1993 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1992 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1991 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1990 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1989 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1988 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1987 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1986 -----
- December
- November
- 9 participants
- 7567 discussions
Hello,
The attached patch avoids walking through every intervening year when no
Rule can apply. On current main, this two-line input demonstrates the
problem:
Rule R 1000000000 only - Jan 1 0 0 -
Zone Test 0 R T
With `zic -b slim`, the untouched build used 2.23 user-seconds on this
machine. The patched build completed below the timer's 0.01-second
resolution. Both produced the same 116-byte TZif file, with SHA-256:
108f87d03de1731b0ee8759d12806d080b1fd896f5539b67bf17f67c84147f39
The input deliberately uses a no-op Rule, so the output stays constant while
the current cost scales linearly with the numeric year. The patch tracks the
next year in which any Rule can apply and jumps directly to it. Active
recurring Rule ranges still advance one year at a time.
I verified byte-for-byte output across all 598 generated zones and focused
cases for recurring max rules, separated ranges, same-year transitions, and
Zone continuations. The full Clang ASan/UBSan `make check` passes, as does a
GCC 15 warnings-as-errors build.
This is separate from the recent getleapdatetime change: that patch made one
Leap/Expires year constant-time, whereas this change removes empty annual
iteration between Rule applicability boundaries in outzone.
Thanks,
Darren Carreras
2
1
Aug. 7, 2026
The press release reads (in part):
A new public survey has been launched to gather input on time observance in the southeast corner of BC.
The survey is open through August 3 and is being done in partnership between the Regional District of East Kootenay, Town of Golden, and Columbia Shuswap Regional District (CSRD) Electoral Area A. “A dedicated project page has been set up that has the online survey along with other information. While it is being hosted by the RDEK, the survey covers the entire southeast corner of BC that is still on Mountain Time and is being done in partnership with all the local governments in the East Kootenay, Golden and CSRD Area A,” says RDEK Communications Manager, Loree Duczek.
The survey can be found on https://engage.rdek.bc.ca/timechange and will remain open until 11:59pm on August 3.
https://www.rdek.bc.ca/news/entry/regional_survey_launches_to_gather_feedba…
The three options presented are "No Change" (continue to change clocks), Permanent Standard Time (UTC -7 or BC Time) or Permanent Daylight Time (UTC -6 or Alberta Time).
1
1
Aug. 7, 2026
Hi, all.
I saw an issue through work with the new America/Vancouver PDT/MST, and it
affects everything with tzdata 2026b - I checked RHEL 8, 9, 10, and Fedora.
Then I checked Debian and FreeBSD, and they all behave the same way, which
surprised me.
In short, the new timezone line is breaking the timezone offset
calculations gmtime(3) is doing, despite our not actually being in November
yet. I haven't yet read through gmtime(3) to understand the mechanism, but
it doesn't have to be gated on me, so I opened up a couple bugs, and then
found this list. Here are the bugs I opened. They include a short program
modelled on how mailx(1) calculates the date offset, which illustrates the
error:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1143499
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=297243
The two things that make me curious:
1. Why's this matter today when the diff I see from zdump doesn't take
effect until November?
2. This shows up with mailx, it might show up in Java, and I bet there are
other things out there that use this mechanism for calculating offsets.
Also, if you swap back and forth between tzdata 2026 a and b, the behavior
appears reliably with b, with nothing else changing. So what's the right
fix for that? I haven't tested this yet but my off the cuff thought was,
"they're moving to permanent daylight savings time - why is DST not flagged
as being on in the new zone file line?" But without more context and
familiarity with the code, I can imagine that having bad consequences in
other situations.
--
Mason Loring Bliss mason(a)blisses.org Ewige Blumenkraft!
(if awake 'sleep (aref #(sleep dream) (random 2))) -- Hamlet, Act III, Scene I
3
9
Aug. 7, 2026
Microsoft's blog has announced changes to support the time zone changes in British Columbia and Alberta.
https://techcommunity.microsoft.com/category/windows/blog/dstblog
Interim guidance for British Columbia time zone changes 2026
Interim guidance for Alberta time zone changes 2026
"The following platforms will receive an update to support this time zone change as part of September 2026 non-security update:
Windows 11, version 26H2
Windows 11, version 26H1
Windows 11, version 25H2
Windows 11, version 24H2
Remaining versions of Windows will receive the update as part of October 2026 monthly quality update."
3
3
As an Albertan, seeing date or system logs print CST after November 1 will
immediately be interpreted as a system error or wrong time zone
configuration by almost all residents and local administrators. In the same
way you would not expect an Angeleno to identify as being on Mountain Time
when opting out of DST, Albertans universally consider themselves on
Mountain Time (MDT/MST), not Central Time. A numerical offset of "-06"
would be preferable to "CST".
--
Patrick McNeil
6
5
Aug. 2, 2026
Hello,
The attached patch makes getleapdatetime reuse rpytime's constant-time
400-year decomposition instead of walking one year at a time from
1970.
A leap-seconds file containing:
Leap 2147483647 Jun 30 23:59:60 + S
made current main spend about 1.67 seconds in the year loop on this
machine; larger syntactically valid years scale linearly and can keep
zic busy for an impractically long time before checked timestamp
arithmetic rejects them. With the patch, the same calculation
completes immediately through the existing checked 400-year path.
Verification:
- make CURL=: check passed under Clang UBSan and stack hardening
- the normal leap-second timezone output tree matched unpatched main
byte for byte
- structured Leap and Expires boundary cases, including INT64_MIN and
INT64_MAX, terminated promptly without sanitizer faults
Thanks,
Darren
2
1
(Problem and fix reported by Darren Carreras.)
* NEWS: Mention this.
* zic.c (getleapdatetime): Don’t loop if given a large year.
Use rpytime instead, as I already fixed this performance bug there
in 2018f, and using rpytime here simplifies us anyway.
This greatly improves performance if a Leap or Expires line
contains an outlandishly large year.
---
NEWS | 5 +++--
zic.c | 41 +++++++++--------------------------------
2 files changed, 12 insertions(+), 34 deletions(-)
diff --git a/NEWS b/NEWS
index 4948ca73..a446c6eb 100644
--- a/NEWS
+++ b/NEWS
@@ -46,8 +46,9 @@ Unreleased, experimental changes
Changes to code
- zic now rejects Link targets that would have invalid names.
- (Thanks to Darren Carreras.)
+ zic now rejects Link targets that would have invalid names,
+ and efficiently processes Leap and Expires lines containing 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.)
diff --git a/zic.c b/zic.c
index 5ed884e5..2e3a344d 100644
--- a/zic.c
+++ b/zic.c
@@ -2320,18 +2320,13 @@ inzsub(char **fields, int nfields, bool iscont)
static zic_t
getleapdatetime(char **fields, bool expire_line)
{
- register const char * cp;
register const struct lookup * lp;
- register zic_t i, j;
zic_t year;
- int month, day;
- zic_t dayoff, tod;
zic_t t;
char xs;
+ struct rule r;
- dayoff = 0;
- cp = fields[LP_YEAR];
- if (sscanf(cp, "%"SCNdZIC"%c", &year, &xs) != 1) {
+ if (sscanf(fields[LP_YEAR], "%"SCNdZIC"%c", &year, &xs) != 1) {
/*
** Leapin' Lizards!
*/
@@ -2345,38 +2340,20 @@ getleapdatetime(char **fields, bool expire_line)
leapminyear = year;
leapseen = true;
}
- j = EPOCH_YEAR;
- while (j != year) {
- if (year > j) {
- i = len_years[isleap(j)];
- ++j;
- } else {
- --j;
- i = -len_years[isleap(j)];
- }
- dayoff = oadd(dayoff, i);
- }
if ((lp = byword(fields[LP_MONTH], mon_names)) == NULL) {
error(N_("invalid month name"));
return -1;
}
- month = lp->l_value;
- j = TM_JANUARY;
- while (j != month) {
- i = len_months[isleap(year)][j];
- dayoff = oadd(dayoff, i);
- ++j;
- }
- cp = fields[LP_DAY];
- if (sscanf(cp, "%d%c", &day, &xs) != 1 ||
- day <= 0 || day > len_months[isleap(year)][month]) {
+ r.r_month = lp->l_value;
+ if (! (sscanf(fields[LP_DAY], "%d%c", &r.r_dayofmonth, &xs) == 1
+ && 0 < r.r_dayofmonth
+ && r.r_dayofmonth <= len_months[isleap(year)][r.r_month])) {
error(N_("invalid day of month"));
return -1;
}
- dayoff = oadd(dayoff, day - 1);
- t = omul(dayoff, SECSPERDAY);
- tod = gethms(fields[LP_TIME], N_("invalid time of day"));
- t = tadd(t, tod);
+ r.r_dycode = DC_DOM;
+ r.r_tod = gethms(fields[LP_TIME], N_("invalid time of day"));
+ t = rpytime(&r, year);
if (t < 0)
error(N_("leap second precedes Epoch"));
return t;
--
2.55.0
1
0
I have a report[1] that tzcode 2026b fails on Windows filesystems
that lack hard links, because it copes if link() fails with
ENOTSUP but what is actually returned is EINVAL. I suggest
something along the lines of
if (link(target, outname) == 0) {
link_errno = 0;
break;
}
link_errno = errno;
+ /* Windows returns EINVAL if filesystem lacks hard links. */
+ if (link_errno == EINVAL)
+ link_errno = ENOTSUP;
}
paralleling the workaround for ancient Linux a few lines above.
regards, tom lane
[1] https://www.postgresql.org/message-id/e6122f9b2eef9096f1f11ecc058bcd91%40po…
3
5
July 31, 2026
This speculative TZDB patch is intended to help software
developers check data and software for issues that would happen
if North American locations currently observing DST
stop changing clocks and stay indefinitely on what is now DST,
as proposed for the US by the Sunshine Protection bill (H.R. 139).
As the patch is speculative, it has not been installed in the
development sources on GitHub. Comments as usual are welcome.
* Makefile (UNUSUAL_OK_CHARSET): Add two footnote chars,
for tz-how-to.html.
(now.ck): Revert previous change to this rule.
* NEWS: Mention the change.
* australasia (Pacific/Guam, Pacific/Pago_Pago):
* northamerica (Pacific/Honolulu, America/Phoenix)
(America/Regina, America/Swift_Current, America/Edmonton)
(America/Vancouver, America/Dawson_Creek)
(America/Fort_Nelson, America/Whitehorse, America/Dawson)
(America/Cancun, America/Merida, America/Monterrey)
(America/Mexico_City, America/Chihuahua, America/Hermosillo)
(America/Mazatlan, America/Bahia_Banderas, America/Barbados)
(America/Belize, America/Costa_Rica, America/Santo_Domingo)
(America/El_Salvador, America/Guatemala, America/Tegucigalpa)
(America/Jamaica, America/Martinique, America/Managua)
(America/Panama, America/Puerto_Rico):
Switch to numeric abbreviations for consistency with other US
zones, and to avoid confusion. As a temporary hack, do this on
2026-11-01 at 01:00 standard time time instead of when the law
takes effect.
* backward (USback):
* europe (America/Thule):
* northamerica (US, Canada, Cuba, Haiti):
The last US-style DST transition was spring 2026.
* date.1, newtzset.3, theory.html, tz-how-to.html, tz-link.html:
* tzfile.5, zdump.8, zic.8:
Change documentation to avoid traditional US abbreviations in
examples, as they’re now confusing.
* europe (America/Thule):
* northamerica (America/New_York, America/Chicago)
(America/North_Dakota/Center, America/North_Dakota/New_Salem)
(America/North_Dakota/Beulah, America/Denver, America/Los_Angeles)
(America/Juneau, America/Sitka, America/Metlakatla)
(America/Yakutat, America/Anchorage, America/Nome, America/Adak)
(America/Boise, America/Indiana/Indianapolis)
(America/Indiana/Marengo, America/Indiana/Vincennes)
(America/Indiana/Tell_City, America/Indiana/Petersburg)
(America/Indiana/Knox, America/Indiana/Winamac)
(America/Indiana/Vevay, America/Kentucky/Louisville)
(America/Kentucky/Monticello, America/Detroit, America/Menominee)
(America/St_Johns, America/Goose_Bay, America/Halifax)
(America/Glace_Bay, America/Moncton, America/Toronto)
(America/Winnipeg, America/Iqaluit, America/Resolute)
(America/Rankin_Inlet, America/Cambridge_Bay, America/Inuvik)
(America/Matamoros, America/Ciudad_Juarez, America/Ojinaga)
(America/Tijuana, Atlantic/Bermuda, America/Havana)
(America/Port-au-Prince, America/Miquelon, America/Grand_Turk):
Stop changing clocks, keeping them on what was previously DST.
Also, switch to numeric abbreviations to avoid confusion
after the transition (e.g., does EST mean -05 or -04?).
As a temporary hack, do this on 2026-11-01 at 02:00 local
time regardless of when the law takes effect.
* localtime.c (TZDEFRULESTRING): Update to match new US
“permanent DST”, which is the closest approximation we can
do that lets backward-compatible strings like "EST5EDT"
conform to POSIX while reflecting new timekeeping rules.
(tzloadbody): Adjust comment to match new,
longer payload in America/Anchorage.
* zone.tab, zone1970.tab, zonenow.tab: Adjust comment column to
avoid now-ambiguous alphabetic abbreviations.
---
Makefile | 9 +-
NEWS | 47 ++++-
australasia | 12 +-
backward | 4 +-
date.1 | 4 +-
europe | 10 +-
localtime.c | 18 +-
newtzset.3 | 6 +-
northamerica | 553 +++++++++++++++++++++++++++++++++++++++----------
theory.html | 17 +-
tz-how-to.html | 47 ++++-
tz-link.html | 16 +-
tzfile.5 | 16 +-
zdump.8 | 8 +-
zic.8 | 4 +-
zone.tab | 86 ++++----
zone1970.tab | 84 ++++----
zonenow.tab | 66 +++---
18 files changed, 698 insertions(+), 309 deletions(-)
diff --git a/Makefile b/Makefile
index 5d463b74..eae806e2 100644
--- a/Makefile
+++ b/Makefile
@@ -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:]
@@ -1018,12 +1018,7 @@ now.ck: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab
-v zdump_table=$(a)d/zdump-now.tab \
-f checknow.awk zonenow.tab
$(AWK) \
- 'BEGIN { \
- SysVzone["EST5EDT"] = 1; SysVzone["CST6CDT"] = 1; \
- SysVzone["MST7MDT"] = 1; SysVzone["PST8PDT"] = 1; \
- print "-\t-\tUTC" \
- } \
- $$1 == "Zone" && !SysVzone[$$2] {print "-\t-\t" $$2}' \
+ 'BEGIN {print "-\t-\tUTC"} /^Zone/ {print "-\t-\t" $$2}' \
$(PRIMARY_YDATA) backward factory | \
$(AWK) \
-v zdump_table=$(a)d/zdump-1970.tab \
diff --git a/NEWS b/NEWS
index 69b94344..b33acc87 100644
--- a/NEWS
+++ b/NEWS
@@ -3,10 +3,39 @@ News for the tz database
Unreleased, experimental changes
Briefly:
+ Speculate that North America stops changing clocks.
Canada’s Northwest Territories move to permanent -06 on 2026-11-01.
Changes to future timestamps
+ This speculative version of TZDB identifies some timekeeping
+ problems that will occur if North American locations currently
+ observing DST stop changing clocks and instead stay indefinitely
+ on what is now DST, as proposed for the US by the Sunshine
+ Protection bill (H.R. 139).
+
+ Although the TZDB project asks for a year’s notice of
+ timekeeping changes to give developers time to prepare, if
+ H.R. 139 passes as-is there will be only three month’s notice,
+ and in early November there will likely be major timekeeping
+ issues in the US and possibly its neighbors. Because this would
+ likely cause the biggest software crunch in TZDB’s history, we
+ have made the unprecedented step of developing a speculative
+ version to give developers a few more days to test for possible
+ bugs.
+
+ This speculative version was inspired by timekeeping changes
+ already made law for western Canada in 2026, changes that have
+ already caused some application bugs and which are likely to
+ cause more in early November. If H.R. 139 becomes law as-is,
+ most of its problems are also likely to hit in early November.
+
+ A comment in ‘northamerica’ details this version’s hypotheses.
+
+ Any future change to TZDB may well differ significantly from
+ this speculative version, which has not been installed in the
+ development sources on GitHub.
+
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. Based on
@@ -26,15 +55,15 @@ Unreleased, experimental changes
(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.
+ PST8PDT now conform better to POSIX, and though not required by
+ POSIX they now also use US federal rules rather than rules of
+ locations like New York, reverting to 2024a tradition albeit with
+ new DST rules. For example, for all future timestamps EST5EDT is
+ now 4 hours behind UTC with abbreviation "EDT" and tm_isdst 1,
+ which is perhaps the best we can do for this obsolete TZ setting.
+ Formerly these names sometimes used non-hour offsets and
+ abbreviations like "LMT", "EWT" and "EPT", all contrary to POSIX.
+ Applications should migrate away from these legacy names.
Other data changes
diff --git a/australasia b/australasia
index 45ac6460..0d4adf64 100644
--- a/australasia
+++ b/australasia
@@ -470,7 +470,11 @@ Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31
10:00 - GST 1941 Dec 10 # Guam
9:00 - %z 1944 Jul 31
10:00 Guam G%sT 2000 Dec 23
- 10:00 - ChST # Chamorro Standard Time
+ 10:00 - ChST 2026 Aug 7 16:00u # Chamorro ST
+ # Temporary hack; see northamerica file.
+ 10:00 - ChST 2026 Nov 1 1:00
+ # End of temporary hack.
+ 10:00 - %z
# Kiribati (Gilbert Is)
@@ -712,7 +716,11 @@ Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown
# Midway
Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5
-11:22:48 - LMT 1911
- -11:00 - SST # S=Samoa
+ -11:00 - SST 2026 Aug 7 16:00u # S=Samoa
+ # Temporary hack; see northamerica file.
+ -11:00 - SST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -11:00 - %z
# Samoa (formerly and also known as Western Samoa)
diff --git a/backward b/backward
index 2971d038..0d8812d7 100644
--- a/backward
+++ b/backward
@@ -345,8 +345,8 @@ 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
+Rule USback 2007 2026 - Mar Sun>=8 2:00 1:00 D
+Rule USback 2007 2025 - 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
diff --git a/date.1 b/date.1
index 8f2c212b..384bc0e6 100644
--- a/date.1
+++ b/date.1
@@ -31,10 +31,10 @@ command
without arguments writes the date and time to the standard output in
the form
.ce 1
-Sat Mar 8 14:54:40 EST 2025
+Fri Aug 7 14:54:40 UTC 2026
.br
with
-.B EST
+.B UTC
replaced by the local time zone's abbreviation
(or by the abbreviation for the time zone specified in the
.B TZ
diff --git a/europe b/europe
index 0dc31d9d..89c44588 100644
--- a/europe
+++ b/europe
@@ -1173,8 +1173,8 @@ Rule Thule 1991 1992 - Mar lastSun 2:00 1:00 D
Rule Thule 1991 1992 - Sep lastSun 2:00 0 S
Rule Thule 1993 2006 - Apr Sun>=1 2:00 1:00 D
Rule Thule 1993 2006 - Oct lastSun 2:00 0 S
-Rule Thule 2007 max - Mar Sun>=8 2:00 1:00 D
-Rule Thule 2007 max - Nov Sun>=1 2:00 0 S
+Rule Thule 2007 2026 - Mar Sun>=8 2:00 1:00 D
+Rule Thule 2007 2025 - Nov Sun>=1 2:00 0 S
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
@@ -1195,7 +1195,11 @@ Zone America/Nuuk -3:26:56 - LMT 1916 Jul 28 # Godthåb
-2:00 - %z 2023 Oct 29 1:00u
-2:00 EU %z
Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik
- -4:00 Thule A%sT
+ -4:00 Thule A%sT 2026 Aug 7 16:00u
+ # Temporary hack; see northamerica file.
+ -4:00 Thule ADT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -3:00 - %z
# Estonia
#
diff --git a/localtime.c b/localtime.c
index be3fe1d5..49d586aa 100644
--- a/localtime.c
+++ b/localtime.c
@@ -412,12 +412,18 @@ static char const *utc = etc_utc + sizeof "Etc/" - 1;
/*
** The DST rules to use if TZ has no rules.
-** Default to US rules as of 2017-05-07.
+** Default to US rules as of 2026-08-07, which act like permanent DST.
** POSIX does not specify the default DST rules;
** for historical reasons, US rules are a common default.
+** This hack causes TZ="AST4ADT" (which lacks a Zone line)
+** to behave like TZ="PST8PDT" (which has a Zone line),
+** in that both observe DST indefinitely into the future.
+** The "/25" part of this hack, which uses an hour greater than 24,
+** uses notation first standardized in POSIX.1-2024,
+** and this file implements that notation.
*/
#ifndef TZDEFRULESTRING
-# define TZDEFRULESTRING ",M3.2.0,M11.1.0"
+# define TZDEFRULESTRING ",0/0,J365/25"
#endif
/* If compiled with -DOPENAT_TZDIR, then when accessing a relative
@@ -1241,11 +1247,11 @@ tzloadbody(char const *name, struct state *sp, char tzloadflags,
/* Attempt to reuse existing abbreviations.
Without this, America/Anchorage would
- consume 50 bytes for abbreviations, as
- sp->charcnt equals 40 (for LMT AST AWT APT AHST
- AHDT YST AKDT AKST) and ts->charcnt equals 10
+ consume 54 bytes for abbreviations, as
+ sp->charcnt equals 44 (for LMT AST AWT APT AHST
+ AHDT YST AKDT AKST -08) and ts->charcnt equals 10
(for AKST AKDT). Reusing means sp->charcnt can
- stay 40 in this example. */
+ stay 44 in this example. */
int gotabbr = 0;
int charcnt = sp->charcnt;
for (i = 0; i < ts->typecnt; i++) {
diff --git a/newtzset.3 b/newtzset.3
index 366bf302..48a0d32c 100644
--- a/newtzset.3
+++ b/newtzset.3
@@ -243,9 +243,9 @@ Here are some examples of
.I TZ
values that directly specify the timezone.
.TP
-.B EST5
-stands for US Eastern Standard
-Time (EST), 5 hours behind UT, without daylight saving.
+.B JST\-9
+stands for Japan Standard Time (JST),
+9 hours ahead of UT, without daylight saving.
.TP
.B <+12>\-12<+13>,M11.1.0,M1.2.1/147
stands for Fiji time, 12 hours ahead
diff --git a/northamerica b/northamerica
index 9d05e891..522aa9d5 100644
--- a/northamerica
+++ b/northamerica
@@ -129,6 +129,48 @@
# https://www.govinfo.gov/content/pkg/PLAW-109publ58/pdf/PLAW-109publ58.pdf
# All transitions are at 02:00 local time.
+# From Paul Eggert (2026-07-27):
+# This speculative version of TZDB sketches out what it might look
+# like if the US Sunshine Protection bill (H.R 139) becomes law as-is
+# on August 7, 2026 at noon US eastern time. This version assumes:
+#
+# The bill becomes law as-is.
+#
+# The change takes effect August 7, 2026 at noon US eastern time.
+#
+# The following areas follow suit in timezones that now observe DST:
+# Bahamas, Bermuda, Canada, Cuba, Haiti, Mexico, St Pierre & Miquelon,
+# Thule, Turks & Caicos, US.
+#
+# To lessen confusion with now-ambiguous abbreviations like EST, all
+# locations currently using US-style alphabetic abbreviations switch
+# to numeric abbreviations like -04. For consistency with the rest
+# of the US, this includes locations like Arizona that do not observe
+# daylight saving time and whose UT offsets will not change.
+# This affects only abbreviations generated by TZDB; downstream
+# uses like CLDR are free to choose their own abbreviations.
+#
+# TZDB temporarily delays the effects of the change by pretending
+# that it takes effect November 1, 2026 at 01:00 local standard time,
+# which in locations observing DST is equivalent to 02:00 local time.
+# This temporary hack is intended to be removed in a
+# future TZDB edition that records when the change actually
+# happened instead of delaying its effects to November 1, as
+# there would be little point to keeping the temporary hack after November 1.
+# Strictly speaking this hack is incorrect since the interval of delay
+# uses standard time, but it does have the right UT offset and it works
+# around downstream limitations in CLDR 48.2 (2026-03-17).
+# Here is an example instance of the temporary hack:
+# # Temporary hack; see above.
+# -5:00 US EDT 2026 Nov 1 2:00
+# # End of temporary hack.
+# This instance can be removed by removing the "temporary hack" comments
+# and the lines they enclose, without making other changes.
+# Although the uncommented lines in the temporary hack are currently no-ops,
+# removing the hack will affect time zone abbreviations and tm_isdst flags
+# for timestamps between the change's actual date and November 1.
+# Removing the hack will not affect UT offsets.
+
# From Arthur David Olson:
# Before the Uniform Time Act of 1966 took effect in 1967, observance of
# Daylight Saving Time in the US was by local option, except during wartime.
@@ -190,8 +232,8 @@ Rule US 1974 only - Jan 6 2:00 1:00 D
Rule US 1975 only - Feb lastSun 2:00 1:00 D
Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
-Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
-Rule US 2007 max - Nov Sun>=1 2:00 0 S
+Rule US 2007 2026 - Mar Sun>=8 2:00 1:00 D
+Rule US 2007 2025 - Nov Sun>=1 2:00 0 S
# From U. S. Naval Observatory (1989-01-19):
# USA EASTERN 5 H BEHIND UTC NEW YORK, WASHINGTON
@@ -348,7 +390,11 @@ Zone America/New_York -4:56:02 - LMT 1883 Nov 18 17:00u
-5:00 NYC E%sT 1942
-5:00 US E%sT 1946
-5:00 NYC E%sT 1967
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
# US central time, represented by Chicago
@@ -435,11 +481,19 @@ Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 18:00u
-6:00 Chicago C%sT 1942
-6:00 US C%sT 1946
-6:00 Chicago C%sT 1967
- -6:00 US C%sT
+ -6:00 US C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 US CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
# Oliver County, ND switched from mountain to central time on 1992-10-25.
Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 1992 Oct 25 2:00
- -6:00 US C%sT
+ -6:00 US C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 US CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
# Morton County, ND, switched from mountain to central time on
# 2003-10-26, except for the area around Mandan which was already central time.
# See <http://dmses.dot.gov/docimages/p63/135818.pdf>.
@@ -449,7 +503,11 @@ Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 19:00u
# See <http://www.epa.gov/fedrgstr/EPA-IMPACT/2003/October/Day-28/i27056.htm>.
Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 2003 Oct 26 2:00
- -6:00 US C%sT
+ -6:00 US C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 US CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
# From Josh Findley (2011-01-21):
# ...it appears that Mercer County, North Dakota, changed from the
@@ -466,7 +524,11 @@ Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 19:00u
Zone America/North_Dakota/Beulah -6:47:07 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 2010 Nov 7 2:00
- -6:00 US C%sT
+ -6:00 US C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 US CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
# US mountain time, represented by Denver
#
@@ -501,7 +563,11 @@ Zone America/Denver -6:59:56 - LMT 1883 Nov 18 19:00u
-7:00 Denver M%sT 1942
-7:00 US M%sT 1946
-7:00 Denver M%sT 1967
- -7:00 US M%sT
+ -7:00 US M%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 US MDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -6:00 - %z
# US Pacific time, represented by Los Angeles
#
@@ -552,10 +618,13 @@ Rule CA 1962 1966 - Oct lastSun 2:00 0 S
Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 20:00u
-8:00 US P%sT 1946
-8:00 CA P%sT 1967
- -8:00 US P%sT
+ -8:00 US P%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -8:00 US PDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -7:00 - %z
# Alaska
-# AK%sT is the modern abbreviation for -09 per USNO.
#
# From Paul Eggert (2017-06-15):
# Howse writes that Alaska switched from the Julian to the Gregorian calendar,
@@ -670,7 +739,11 @@ Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 15:33:32
-9:00 US Y%sT 1980 Oct 26 2:00
-8:00 US P%sT 1983 Oct 30 2:00
-9:00 US Y%sT 1983 Nov 30
- -9:00 US AK%sT
+ -9:00 US AK%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -9:00 US AKDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -8:00 - %z
Zone America/Sitka 14:58:47 - LMT 1867 Oct 19 15:30
-9:01:13 - LMT 1900 Aug 20 12:00
-8:00 - PST 1942
@@ -678,7 +751,11 @@ Zone America/Sitka 14:58:47 - LMT 1867 Oct 19 15:30
-8:00 - PST 1969
-8:00 US P%sT 1983 Oct 30 2:00
-9:00 US Y%sT 1983 Nov 30
- -9:00 US AK%sT
+ -9:00 US AK%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -9:00 US AKDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -8:00 - %z
Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 15:44:55
-8:46:18 - LMT 1900 Aug 20 12:00
-8:00 - PST 1942
@@ -688,14 +765,22 @@ Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 15:44:55
-8:00 - PST 2015 Nov 1 2:00
-9:00 US AK%sT 2018 Nov 4 2:00
-8:00 - PST 2019 Jan 20 2:00
- -9:00 US AK%sT
+ -9:00 US AK%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -9:00 US AKDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -8:00 - %z
Zone America/Yakutat 14:41:05 - LMT 1867 Oct 19 15:12:18
-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
+ -9:00 US AK%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -9:00 US AKDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -8:00 - %z
Zone America/Anchorage 14:00:24 - LMT 1867 Oct 19 14:31:37
-9:59:36 - LMT 1900 Aug 20 12:00
-10:00 - AST 1942
@@ -703,7 +788,11 @@ Zone America/Anchorage 14:00:24 - LMT 1867 Oct 19 14:31:37
-10:00 - AHST 1969
-10:00 US AH%sT 1983 Oct 30 2:00
-9:00 US Y%sT 1983 Nov 30
- -9:00 US AK%sT
+ -9:00 US AK%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -9:00 US AKDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -8:00 - %z
Zone America/Nome 12:58:22 - LMT 1867 Oct 19 13:29:35
-11:01:38 - LMT 1900 Aug 20 12:00
-11:00 - NST 1942
@@ -712,7 +801,11 @@ Zone America/Nome 12:58:22 - LMT 1867 Oct 19 13:29:35
-11:00 - BST 1969
-11:00 US B%sT 1983 Oct 30 2:00
-9:00 US Y%sT 1983 Nov 30
- -9:00 US AK%sT
+ -9:00 US AK%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -9:00 US AKDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -8:00 - %z
Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35
-11:46:38 - LMT 1900 Aug 20 12:00
-11:00 - NST 1942
@@ -721,7 +814,11 @@ Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35
-11:00 - BST 1969
-11:00 US B%sT 1983 Oct 30 2:00
-10:00 US AH%sT 1983 Nov 30
- -10:00 US H%sT
+ -10:00 US H%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -10:00 US HDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -9:00 - %z
# The following switches don't make our 1970 cutoff.
#
# Kiska observed Tokyo date and time during Japanese occupation from
@@ -789,11 +886,15 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
-10:30 - HST 1933 Apr 30 2:00
-10:30 1:00 HDT 1933 May 21 12:00
-10:30 US H%sT 1947 Jun 8 2:00
- -10:00 - HST
+ -10:00 - HST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -10:00 - HST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -10:00 - %z
# Now we turn to US areas that have diverged from the consensus since 1970.
-# Arizona mostly uses MST.
+# Arizona mostly uses -07.
# From Paul Eggert (2002-10-20):
#
@@ -821,7 +922,11 @@ Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 1944 Oct 1 0:01
-7:00 - MST 1967
-7:00 US M%sT 1968 Mar 21
- -7:00 - MST
+ -7:00 - MST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 - MST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -7:00 - %z
# From Arthur David Olson (1988-02-13):
# A writer from the Inter Tribal Council of Arizona, Inc.,
@@ -846,7 +951,11 @@ Zone America/Boise -7:44:49 - LMT 1883 Nov 18 20:00u
-8:00 US P%sT 1923 May 13 2:00
-7:00 US M%sT 1974
-7:00 - MST 1974 Feb 3 2:00
- -7:00 US M%sT
+ -7:00 US M%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 US MDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -6:00 - %z
# Indiana
#
@@ -924,7 +1033,11 @@ Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 18:00u
-5:00 - EST 1969
-5:00 US E%sT 1971
-5:00 - EST 2006
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
#
# Eastern Crawford County, Indiana, left its clocks alone in 1974,
# as well as from 1976 through 2005.
@@ -942,7 +1055,11 @@ Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 18:00u
-6:00 1:00 CDT 1974 Oct 27 2:00
-5:00 US E%sT 1976
-5:00 - EST 2006
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
#
# Daviess, Dubois, Knox, and Martin Counties, Indiana,
# switched from eastern to central time in April 2006, then switched back
@@ -965,7 +1082,11 @@ Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 18:00u
-5:00 US E%sT 1971
-5:00 - EST 2006 Apr 2 2:00
-6:00 US C%sT 2007 Nov 4 2:00
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
#
# Perry County, Indiana, switched from eastern to central time in April 2006.
# From Alois Treindl (2019-07-09):
@@ -985,7 +1106,11 @@ Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1969 Apr 27 2:00
-5:00 US E%sT 1971
-5:00 - EST 2006 Apr 2 2:00
- -6:00 US C%sT
+ -6:00 US C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 US CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
#
# Pike County, Indiana moved from central to eastern time in 1977,
# then switched back in 2006, then switched back again in 2007.
@@ -1002,7 +1127,11 @@ Zone America/Indiana/Petersburg -5:49:07 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1977 Oct 30 2:00
-5:00 - EST 2006 Apr 2 2:00
-6:00 US C%sT 2007 Nov 4 2:00
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
#
# Starke County, Indiana moved from central to eastern time in 1991,
# then switched back in 2006.
@@ -1023,7 +1152,11 @@ Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 18:00u
-5:00 - EST 1963 Oct 27 2:00
-6:00 US C%sT 1991 Oct 27 2:00
-5:00 - EST 2006 Apr 2 2:00
- -6:00 US C%sT
+ -6:00 US C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 US CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
#
# Pulaski County, Indiana, switched from eastern to central time in
# April 2006 and then switched back in March 2007.
@@ -1040,7 +1173,11 @@ Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 18:00u
-5:00 US E%sT 1971
-5:00 - EST 2006 Apr 2 2:00
-6:00 US C%sT 2007 Mar 11 2:00
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
#
# Switzerland County, Indiana, did not observe DST from 1973 through 2005.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -1049,7 +1186,11 @@ Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 18:00u
-5:00 - EST 1969
-5:00 US E%sT 1973
-5:00 - EST 2006
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
# From Paul Eggert (2018-03-20):
# The Louisville & Nashville Railroad's 1883-11-18 change occurred at
@@ -1088,7 +1229,11 @@ Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 18:00u
-5:00 - EST 1968
-5:00 US E%sT 1974 Jan 6 2:00
-6:00 1:00 CDT 1974 Oct 27 2:00
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
#
# Wayne County, Kentucky
#
@@ -1118,7 +1263,11 @@ Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1946
-6:00 - CST 1968
-6:00 US C%sT 2000 Oct 29 2:00
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
# From Rives McDow (2000-08-30):
@@ -1196,7 +1345,11 @@ Zone America/Detroit -5:32:11 - LMT 1905
-5:00 - EST 1973
-5:00 US E%sT 1975
-5:00 - EST 1975 Apr 27 2:00
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
#
# Dickinson, Gogebic, Iron, and Menominee Counties, Michigan,
# switched from EST to CST/CDT in 1973.
@@ -1210,7 +1363,11 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
-6:00 US C%sT 1946
-6:00 Menominee C%sT 1969 Apr 27 2:00
-5:00 - EST 1973 Apr 29 2:00
- -6:00 US C%sT
+ -6:00 US C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 US CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
# Navassa
# administered by the US Fish and Wildlife Service
@@ -1393,8 +1550,8 @@ Rule Canada 1945 only - Sep 30 2:00 0 S
Rule Canada 1974 1986 - Apr lastSun 2:00 1:00 D
Rule Canada 1974 2006 - Oct lastSun 2:00 0 S
Rule Canada 1987 2006 - Apr Sun>=1 2:00 1:00 D
-Rule Canada 2007 max - Mar Sun>=8 2:00 1:00 D
-Rule Canada 2007 max - Nov Sun>=1 2:00 0 S
+Rule Canada 2007 2026 - Mar Sun>=8 2:00 1:00 D
+Rule Canada 2007 2025 - Nov Sun>=1 2:00 0 S
# Newfoundland and Labrador
@@ -1464,7 +1621,11 @@ Zone America/St_Johns -3:30:52 - LMT 1884
-3:30 StJohns N%sT 1942 May 11
-3:30 Canada N%sT 1946
-3:30 StJohns N%sT 2011 Nov
- -3:30 Canada N%sT
+ -3:30 Canada N%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -3:30 Canada NDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -2:30 - %z
# most of east Labrador
@@ -1479,7 +1640,11 @@ Zone America/Goose_Bay -4:01:40 - LMT 1884 # Happy Valley-Goose Bay
-3:30 Canada N%sT 1946
-3:30 StJohns N%sT 1966 Mar 15 2:00
-4:00 StJohns A%sT 2011 Nov
- -4:00 Canada A%sT
+ -4:00 Canada A%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -4:00 Canada ADT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -3:00 - %z
# west Labrador, Nova Scotia, Prince Edward I,
@@ -1558,13 +1723,21 @@ Zone America/Halifax -4:14:24 - LMT 1902 Jun 15
-4:00 Halifax A%sT 1942 Feb 9 2:00s
-4:00 Canada A%sT 1946
-4:00 Halifax A%sT 1974
- -4:00 Canada A%sT
+ -4:00 Canada A%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -4:00 Canada ADT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -3:00 - %z
Zone America/Glace_Bay -3:59:48 - LMT 1902 Jun 15
-4:00 Canada A%sT 1953
-4:00 Halifax A%sT 1954
-4:00 - AST 1972
-4:00 Halifax A%sT 1974
- -4:00 Canada A%sT
+ -4:00 Canada A%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -4:00 Canada ADT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -3:00 - %z
# New Brunswick
@@ -1598,7 +1771,11 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
-4:00 Moncton A%sT 1973
-4:00 Canada A%sT 1993
-4:00 Moncton A%sT 2007
- -4:00 Canada A%sT
+ -4:00 Canada A%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -4:00 Canada ADT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -3:00 - %z
# Quebec
@@ -1741,7 +1918,11 @@ Zone America/Toronto -5:17:32 - LMT 1895
-5:00 Toronto E%sT 1942 Feb 9 2:00s
-5:00 Canada E%sT 1946
-5:00 Toronto E%sT 1974
- -5:00 Canada E%sT
+ -5:00 Canada E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 Canada EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
# For Atikokan see America/Panama.
@@ -1805,7 +1986,11 @@ Rule Winn 1987 2005 - Apr Sun>=1 2:00s 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Winnipeg -6:28:36 - LMT 1887 Jul 16
-6:00 Winn C%sT 2006
- -6:00 Canada C%sT
+ -6:00 Canada C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 Canada CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
# Saskatchewan
@@ -1911,12 +2096,20 @@ Rule Swift 1960 1961 - Sep lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Regina -6:58:36 - LMT 1905 Sep
-7:00 Regina M%sT 1960 Apr lastSun 2:00
- -6:00 - CST
+ -6:00 - CST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
Zone America/Swift_Current -7:11:20 - LMT 1905 Sep
-7:00 Canada M%sT 1946 Apr lastSun 2:00
-7:00 Regina M%sT 1950
-7:00 Swift M%sT 1972 Apr lastSun 2:00
- -6:00 - CST
+ -6:00 - CST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Alberta
@@ -1953,7 +2146,7 @@ Zone America/Swift_Current -7:11:20 - LMT 1905 Sep
# issued on 2026-06-18 proclaiming the relevant section of the bill in force on
# the same date. Order in Council 206/2026, issued the same day, uses the
# regulatory authority within the Act to prescribe the official term "Alberta
-# Time"; we use the traditional abbreviation CST for consistency.
+# Time"....
# https://kings-printer.alberta.ca/Documents/Orders/Orders_in_Council/2026/20…
# https://kings-printer.alberta.ca/Documents/Orders/Orders_in_Council/2026/20…
#
@@ -1998,7 +2191,7 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
# Temporary hack; see above.
-7:00 Canada MDT 2026 Nov 1 2:00
# End of temporary hack.
- -6:00 - CST
+ -6:00 - %z
# British Columbia
@@ -2041,34 +2234,13 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
# on March 8 will be the last time change, ending twice-yearly clock changes.”
# https://news.gov.bc.ca/releases/2026AG0013-000209
#
-# From Paul Eggert (2026-07-02):
+# From Paul Eggert (2026-07-27):
# The law says that 21 hours after the usual 2026-03-08 02:00 switch from
# PST to PDT, the next day inaugurates the new standard time Pacific Time,
# i.e., just one clock change but two name changes separated by 21 hours.
-# PT, the obvious abbreviation for Pacific Time, is one letter too short
-# to conform to TZDB’s (and POSIX’s) [-+[:alnum:]]{3,6} requirements.
-# I asked the BC government for advice, with no response. For now, do this:
-# 1. As a temporary hack, pretend that the BC law takes effect
-# not on 2026-03-09 at 00:00, but on 2026-11-01 at 02:00.
-# This pretense works around a limitation in CLDR 48.1 (2026-01-08),
-# which would otherwise say the interval uses “Pacific Standard Time”.
-# (Below, this temporary hack is marked “Temporary hack; see above.”)
-# Strictly speaking this hack is incorrect since the interval uses
-# standard time, but it does have the right UT offset and it
-# works around the CLDR limitation. We should be able to remove
-# the temporary hack by November when there would be little point
-# to keeping it anyway.
-# 2. After the BC law takes effect, model the time as MST sans DST.
-# We can change this later if another conforming non-numeric abbreviation
-# for Pacific Time becomes more popular. Possibilities include:
-# MST - the most compatible with existing software and practice,
-# and already used in parts of BC and in Yukon
-# PDT - almost as software-friendly, but confusing because it implies
-# it is DST and is paired with PST, whereas PT is standard time
-# PST - straightforward but even more confusing,
-# and will likely break much software that assumes PST is -08
-# -07 - accurate and clear in itself, but makes BC look odd vs neighbors
-# PacT - straightforward but novel abbreviation for Pacific Time
+# Unlike the other temporary hacks in this file, the temporary hack
+# for America/Vancouver works around a limitation in CLDR 48.1 (2026-01-08),
+# a limitation that was removed in CLDR 48.2 (2026-03-17).
# From Chris Walton (2026-03-15):
# The Regional District of East Kootenay is planning to move to year-round
@@ -2105,17 +2277,25 @@ Zone America/Vancouver -8:12:28 - LMT 1884
# Temporary hack; see above.
-8:00 Canada PDT 2026 Nov 1 2:00
# End of temporary hack.
- -7:00 - MST
+ -7:00 - %z
Zone America/Dawson_Creek -8:00:56 - LMT 1884
-8:00 Canada P%sT 1947
-8:00 Vanc P%sT 1972 Aug 30 2:00
- -7:00 - MST
+ -7:00 - MST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 - MST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -7:00 - %z
Zone America/Fort_Nelson -8:10:47 - LMT 1884
-8:00 Vanc P%sT 1946
-8:00 - PST 1947
-8:00 Vanc P%sT 1987
-8:00 Canada P%sT 2015 Mar 8 2:00
- -7:00 - MST
+ -7:00 - MST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 - MST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -7:00 - %z
# For Creston see America/Phoenix.
# Northwest Territories, Nunavut, Yukon
@@ -2473,43 +2653,70 @@ Rule Yukon 1965 only - Oct lastSun 2:00 0 S
Zone America/Iqaluit 0 - -00 1942 Aug # Frobisher Bay est.
-5:00 NT_YK E%sT 1999 Oct 31 2:00
-6:00 Canada C%sT 2000 Oct 29 2:00
- -5:00 Canada E%sT
+ -5:00 Canada E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 Canada EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
# aka Qausuittuq
Zone America/Resolute 0 - -00 1947 Aug 31 # Resolute founded
-6:00 NT_YK C%sT 2000 Oct 29 2:00
-5:00 - EST 2001 Apr 1 3:00
-6:00 Canada C%sT 2006 Oct 29 2:00
-5:00 - EST 2007 Mar 11 3:00
- -6:00 Canada C%sT
+ -6:00 Canada C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 Canada CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
# aka Kangiqiniq
Zone America/Rankin_Inlet 0 - -00 1957 # Rankin Inlet founded
-6:00 NT_YK C%sT 2000 Oct 29 2:00
-5:00 - EST 2001 Apr 1 3:00
- -6:00 Canada C%sT
+ -6:00 Canada C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 Canada CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
# aka Iqaluktuuttiaq
Zone America/Cambridge_Bay 0 - -00 1920 # trading post est.?
-7:00 NT_YK M%sT 1999 Oct 31 2:00
-6:00 Canada C%sT 2000 Oct 29 2:00
-5:00 - EST 2000 Nov 5 0:00
-6:00 - CST 2001 Apr 1 3:00
- -7:00 Canada M%sT
+ -7:00 Canada M%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 Canada MDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -6:00 - %z
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 2026 Nov 1 2:00 # presumed
- -6:00 - CST
+ -7:00 Canada M%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 Canada MDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -6:00 - %z
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
-8:00 - PST 1980
-8:00 Canada P%sT 2020 Nov 1
- -7:00 - MST
+ -7:00 - MST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 - MST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -7:00 - %z
Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
-9:00 NT_YK Y%sT 1965
-9:00 Yukon Y%sT 1973 Oct 28 0:00
-8:00 - PST 1980
-8:00 Canada P%sT 2020 Nov 1
- -7:00 - MST
+ -7:00 - MST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 - MST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -7:00 - %z
###############################################################################
@@ -2860,12 +3067,20 @@ Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 6:00u
-6:00 Mexico C%sT 1997 Oct 26 2:00
-5:00 Mexico E%sT 1998 Aug 2 2:00
-6:00 Mexico C%sT 2015 Feb 1 2:00
- -5:00 - EST
+ -5:00 - EST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 - EST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -5:00 - %z
# Campeche, Yucatán; represented by Mérida
Zone America/Merida -5:58:28 - LMT 1922 Jan 1 6:00u
-6:00 - CST 1981 Dec 26 2:00
-5:00 - EST 1982 Nov 2 2:00
- -6:00 Mexico C%sT
+ -6:00 Mexico C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Coahuila, Nuevo León, Tamaulipas (near US border)
# This includes the following municipios:
# in Coahuila: Acuña, Allende, Guerrero, Hidalgo, Jiménez, Morelos, Nava,
@@ -2878,7 +3093,11 @@ Zone America/Matamoros -6:30:00 - LMT 1922 Jan 1 6:00u
-6:00 - CST 1988
-6:00 US C%sT 1989
-6:00 Mexico C%sT 2010
- -6:00 US C%sT
+ -6:00 US C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 US CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
# Durango; Coahuila, Nuevo León, Tamaulipas (away from US border)
Zone America/Monterrey -6:41:16 - LMT 1922 Jan 1 6:00u
-7:00 - MST 1927 Jun 10
@@ -2886,7 +3105,11 @@ Zone America/Monterrey -6:41:16 - LMT 1922 Jan 1 6:00u
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1988
-6:00 US C%sT 1989
- -6:00 Mexico C%sT
+ -6:00 Mexico C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Central Mexico
Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10
@@ -2894,7 +3117,11 @@ Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 7:00u
-7:00 Mexico M%sT 1932 Apr 1
-6:00 Mexico C%sT 2001 Sep 30 2:00
-6:00 - CST 2002 Feb 20
- -6:00 Mexico C%sT
+ -6:00 Mexico C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Chihuahua (near US border - western side)
# This includes the municipios of Janos, Ascensión, Juárez, Guadalupe, and
# Práxedis G Guerrero.
@@ -2909,7 +3136,11 @@ Zone America/Ciudad_Juarez -7:05:56 - LMT 1922 Jan 1 7:00u
-7:00 Mexico M%sT 2010
-7:00 US M%sT 2022 Oct 30 2:00
-6:00 - CST 2022 Nov 30 0:00
- -7:00 US M%sT
+ -7:00 US M%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 US MDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -6:00 - %z
# Chihuahua (near US border - eastern side)
# This includes the municipios of Coyame del Sotol, Ojinaga, and Manuel
# Benavides.
@@ -2924,7 +3155,11 @@ Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 7:00u
-7:00 Mexico M%sT 2010
-7:00 US M%sT 2022 Oct 30 2:00
-6:00 - CST 2022 Nov 30 0:00
- -6:00 US C%sT
+ -6:00 US C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 US CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -5:00 - %z
# Chihuahua (away from US border)
Zone America/Chihuahua -7:04:20 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10
@@ -2934,7 +3169,11 @@ Zone America/Chihuahua -7:04:20 - LMT 1922 Jan 1 7:00u
-6:00 Mexico C%sT 1998
-6:00 - CST 1998 Apr Sun>=1 3:00
-7:00 Mexico M%sT 2022 Oct 30 2:00
- -6:00 - CST
+ -6:00 - CST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Sonora
Zone America/Hermosillo -7:23:52 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10
@@ -2943,7 +3182,11 @@ Zone America/Hermosillo -7:23:52 - LMT 1922 Jan 1 7:00u
-6:00 - CST 1942 Apr 24
-7:00 - MST 1996
-7:00 Mexico M%sT 1999
- -7:00 - MST
+ -7:00 - MST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 - MST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -7:00 - %z
# Baja California Sur, Nayarit (except Bahía de Banderas), Sinaloa
Zone America/Mazatlan -7:05:40 - LMT 1922 Jan 1 7:00u
@@ -2952,7 +3195,11 @@ Zone America/Mazatlan -7:05:40 - LMT 1922 Jan 1 7:00u
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1942 Apr 24
-7:00 - MST 1970
- -7:00 Mexico M%sT
+ -7:00 Mexico M%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -7:00 - MST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -7:00 - %z
# Bahía de Banderas
@@ -2990,7 +3237,11 @@ Zone America/Bahia_Banderas -7:01:00 - LMT 1922 Jan 1 7:00u
-6:00 - CST 1942 Apr 24
-7:00 - MST 1970
-7:00 Mexico M%sT 2010 Apr 4 2:00
- -6:00 Mexico C%sT
+ -6:00 Mexico C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Baja California
Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 7:00u
@@ -3015,7 +3266,11 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 7:00u
-8:00 Mexico P%sT 2001
-8:00 US P%sT 2002 Feb 20
-8:00 Mexico P%sT 2010
- -8:00 US P%sT
+ -8:00 US P%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -8:00 US PDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -7:00 - %z
# From Paul Eggert (2006-03-22):
# Formerly there was an America/Ensenada zone, which differed from
# America/Tijuana only in that it did not observe DST from 1976
@@ -3094,7 +3349,11 @@ Rule Barb 1980 only - Sep 25 2:00 0 S
Zone America/Barbados -3:58:29 - LMT 1911 Aug 28 # Bridgetown
-4:00 Barb A%sT 1944
-4:00 Barb AST/-0330 1945
- -4:00 Barb A%sT
+ -4:00 Barb A%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -4:00 - AST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -4:00 - %z
# Belize
@@ -3147,7 +3406,11 @@ Rule Belize 1982 only - Dec 18 0:00 1:00 CDT
Rule Belize 1983 only - Feb 12 0:00 0 CST
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Belize -5:52:48 - LMT 1912 Apr 1
- -6:00 Belize %s
+ -6:00 Belize %s 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Bermuda
@@ -3254,7 +3517,11 @@ Zone Atlantic/Bermuda -4:19:18 - LMT 1890 # Hamilton
-4:19:18 Bermuda BMT/BST 1930 Jan 1 2:00
-4:00 Bermuda A%sT 1974 Apr 28 2:00
-4:00 Canada A%sT 1976
- -4:00 US A%sT
+ -4:00 US A%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -4:00 US ADT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -3:00 - %z
# Costa Rica
@@ -3273,7 +3540,11 @@ Rule CR 1992 only - Mar 15 0:00 0 S
#STDOFF -5:36:13.3
Zone America/Costa_Rica -5:36:13 - LMT 1890 # San José
-5:36:13 - SJMT 1921 Jan 15 # San José Mean Time
- -6:00 CR C%sT
+ -6:00 CR C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Coco
# no information; probably like America/Costa_Rica
@@ -3473,13 +3744,17 @@ Rule Cuba 2009 2010 - Mar Sun>=8 0:00s 1:00 D
Rule Cuba 2011 only - Mar Sun>=15 0:00s 1:00 D
Rule Cuba 2011 only - Nov 13 0:00s 0 S
Rule Cuba 2012 only - Apr 1 0:00s 1:00 D
-Rule Cuba 2012 max - Nov Sun>=1 0:00s 0 S
-Rule Cuba 2013 max - Mar Sun>=8 0:00s 1:00 D
+Rule Cuba 2012 2025 - Nov Sun>=1 0:00s 0 S
+Rule Cuba 2013 2026 - Mar Sun>=8 0:00s 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Havana -5:29:28 - LMT 1890
-5:29:36 - HMT 1925 Jul 19 12:00 # Havana MT
- -5:00 Cuba C%sT
+ -5:00 Cuba C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 Cuba CDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
# Dominican Republic
@@ -3514,7 +3789,11 @@ Zone America/Santo_Domingo -4:39:36 - LMT 1890
-5:00 DR %s 1974 Oct 27
-4:00 - AST 2000 Oct 29 2:00
-5:00 US E%sT 2000 Dec 3 1:00
- -4:00 - AST
+ -4:00 - AST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -4:00 - AST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -4:00 - %z
# El Salvador
@@ -3525,7 +3804,11 @@ Rule Salv 1987 1988 - Sep lastSun 0:00 0 S
# instead of America/San_Salvador.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador
- -6:00 Salv C%sT
+ -6:00 Salv C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Guatemala
#
@@ -3552,7 +3835,11 @@ Rule Guat 2006 only - Apr 30 0:00 1:00 D
Rule Guat 2006 only - Oct 1 0:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Guatemala -6:02:04 - LMT 1918 Oct 5
- -6:00 Guat C%sT
+ -6:00 Guat C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Haiti
# From Gwillim Law (2005-04-15):
@@ -3634,12 +3921,16 @@ Rule Haiti 2005 2006 - Apr Sun>=1 0:00 1:00 D
Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S
Rule Haiti 2012 2015 - Mar Sun>=8 2:00 1:00 D
Rule Haiti 2012 2015 - Nov Sun>=1 2:00 0 S
-Rule Haiti 2017 max - Mar Sun>=8 2:00 1:00 D
-Rule Haiti 2017 max - Nov Sun>=1 2:00 0 S
+Rule Haiti 2017 2026 - Mar Sun>=8 2:00 1:00 D
+Rule Haiti 2017 2025 - Nov Sun>=1 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Port-au-Prince -4:49:20 - LMT 1890
-4:49 - PPMT 1917 Jan 24 12:00 # P-a-P MT
- -5:00 Haiti E%sT
+ -5:00 Haiti E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 Haiti EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
# Honduras
# Shanks & Pottenger say 1921 Jan 1; go with Whitman's more precise Apr 1.
@@ -3677,7 +3968,11 @@ Rule Hond 2006 only - May Sun>=1 0:00 1:00 D
Rule Hond 2006 only - Aug Mon>=1 0:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Tegucigalpa -5:48:52 - LMT 1921 Apr
- -6:00 Hond C%sT
+ -6:00 Hond C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
#
# Great Swan I ceded by US to Honduras in 1972
@@ -3702,7 +3997,11 @@ Zone America/Jamaica -5:07:10 - LMT 1890 # Kingston
-5:07:10 - KMT 1912 Feb # Kingston Mean Time
-5:00 - EST 1974
-5:00 US E%sT 1984
- -5:00 - EST
+ -5:00 - EST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 - EST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -5:00 - %z
# Martinique
# Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -3710,7 +4009,11 @@ Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
-4:04:20 - FFMT 1911 May 1 # Fort-de-France MT
-4:00 - AST 1980 Apr 6
-4:00 1:00 ADT 1980 Sep 28
- -4:00 - AST
+ -4:00 - AST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -4:00 - AST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -4:00 - %z
# Nicaragua
#
@@ -3775,7 +4078,11 @@ Zone America/Managua -5:45:08 - LMT 1890
-5:00 - EST 1992 Sep 24
-6:00 - CST 1993
-5:00 - EST 1997
- -6:00 Nic C%sT
+ -6:00 Nic C%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -6:00 - CST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -6:00 - %z
# Cayman Is
# Panama
@@ -3784,7 +4091,11 @@ Zone America/Managua -5:45:08 - LMT 1890
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Panama -5:18:08 - LMT 1890
-5:19:36 - CMT 1908 Apr 22 # Colón Mean Time
- -5:00 - EST
+ -5:00 - EST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 - EST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -5:00 - %z
# Anguilla
# Antigua & Barbuda
@@ -3809,7 +4120,11 @@ Zone America/Panama -5:18:08 - LMT 1890
Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
-4:00 - AST 1942 May 3
-4:00 US A%sT 1946
- -4:00 - AST
+ -4:00 - AST 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -4:00 - AST 2026 Nov 1 1:00
+ # End of temporary hack.
+ -4:00 - %z
# St Pierre and Miquelon
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
@@ -3817,7 +4132,11 @@ Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
Zone America/Miquelon -3:44:40 - LMT 1911 Jun 15 # St Pierre
-4:00 - AST 1980 May
-3:00 - %z 1987
- -3:00 Canada %z
+ -3:00 Canada %z 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -3:00 Canada %z 2026 Nov 1 2:00
+ # End of temporary hack.
+ -2:00 - %z
# Turks and Caicos
#
@@ -3886,7 +4205,11 @@ Zone America/Grand_Turk -4:44:32 - LMT 1890
-5:00 - EST 1979
-5:00 US E%sT 2015 Mar 8 2:00
-4:00 - AST 2018 Mar 11 3:00
- -5:00 US E%sT
+ -5:00 US E%sT 2026 Aug 7 16:00u
+ # Temporary hack; see above.
+ -5:00 US EDT 2026 Nov 1 2:00
+ # End of temporary hack.
+ -4:00 - %z
# Local Variables:
# coding: utf-8
diff --git a/theory.html b/theory.html
index bbc9d693..6a55c5bb 100644
--- a/theory.html
+++ b/theory.html
@@ -409,7 +409,7 @@ is used by older code releases.
<h2 id="abbreviations">Time zone abbreviations</h2>
<p>
When this package is installed, it generates time zone abbreviations
-like <code>EST</code> to be compatible with human tradition and POSIX.
+like <code>JST</code> to be compatible with human tradition and POSIX.
Here are the general guidelines used for choosing time zone abbreviations,
in decreasing order of importance:
</p>
@@ -446,13 +446,13 @@ in decreasing order of importance:
</li>
<li>
Use abbreviations that are in common use among English-speakers,
- e.g., “EST” for Eastern Standard Time in North America.
- We assume that applications translate them to other languages
- as part of the normal localization process; for example,
- a French application might translate “EST” to “HNE”.
+ e.g., “JST” for Japan Standard Time.
+ We assume that applications translate them as needed to other languages
+ as part of the normal localization process.
<p>
- <small>These abbreviations (for standard/daylight/etc. time) are:
+ <small>These abbreviations (for standard/daylight/etc. time),
+ many used only for historical timestamps, are:
ACST/ACDT Australian Central,
AST/ADT/APT/AWT/ADDT Atlantic,
AEST/AEDT Australian Eastern,
@@ -603,11 +603,10 @@ in decreasing order of importance:
<p>
Application writers should note that these abbreviations are ambiguous
-in practice: e.g., CST means one thing in China and something else
-in North America, and IST can refer to time in India, Ireland or
+in practice: e.g., IST can refer to time in India, Ireland or
Israel.
To avoid ambiguity, use numeric <abbr>UT</abbr> offsets like
-<code>-</code>0600 instead of time zone abbreviations like CST.
+<code>+</code>0530 instead of time zone abbreviations like IST.
</p>
</section>
diff --git a/tz-how-to.html b/tz-how-to.html
index 82a6176b..277976c9 100644
--- a/tz-how-to.html
+++ b/tz-how-to.html
@@ -163,8 +163,8 @@ Rule US 1974 only - Jan 6 2:00 1:00 D
Rule US 1975 only - Feb 23 2:00 1:00 D
Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
-Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
-Rule US 2007 max - Nov Sun>=1 2:00 0 S
+Rule US 2007 2026 - Mar Sun>=8 2:00 1:00 D
+Rule US 2007 2025 - Nov Sun>=1 2:00 0 S
</pre>
<table>
<tr>
@@ -240,10 +240,11 @@ Rule US 2007 max - Nov Sun>=1 2:00 0 S
</tr>
<tr>
<td rowspan="2">2007</td>
- <td rowspan="2">present</td>
+ <td>2026</td>
<td colspan="2">second Sunday in March</td>
</tr>
<tr>
+ <td>2025</td>
<td colspan="2">first Sunday in November</td>
<td>return to standard time</td>
</tr>
@@ -318,7 +319,8 @@ Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24
-6:00 Chicago C%sT 1942
-6:00 US C%sT 1946
-6:00 Chicago C%sT 1967
- -6:00 US C%sT
+ -6:00 US C%sT 2026 Aug 7 16:00u
+ -5:00 - %z
</pre>
<table>
<tr>
@@ -380,8 +382,20 @@ Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24
</tr>
<tr>
<td>US rules</td>
+ <td>2026-08-07</td>
+ <td>10:00:00¹</td>
+</tr>
+<tr>
+ <td>−5:00:00</td>
+ <td>not observed</td>
+ <td>-05</td>
<td colspan="2">–</td>
</tr>
+<tr>
+ <td colspan="5" class="footnote">
+ ¹16:00 UT + (−6:00) = 10:00 local
+ </td>
+</tr>
</table>
<p>There are a couple of interesting differences between Zones and Rules.</p>
@@ -522,7 +536,7 @@ a <code>SAVE</code> of zero.
<li>The <a href="https://en.wikipedia.org/wiki/Tz_database">tz
database</a> gives abbreviations for time zones
in popular English-language usage. For
-example, the last line in
+example, the penultimate line in
<code>Zone</code> <code>Pacific/Honolulu</code> (shown below) gives
“HST” for “Hawaii standard time” even though the
<a href="https://www.law.cornell.edu/uscode/text/15/263">legal</a>
@@ -561,7 +575,8 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
-10:30 - HST 1933 Apr 30 2:00
-10:30 1:00 HDT 1933 May 21 2:00
-10:30 US H%sT 1947 Jun 8 2:00
- -10:00 - HST
+ -10:00 - HST 2026 Aug 7 16:00u
+ -10:00 - %z
</pre>
<table>
<tr>
@@ -630,14 +645,20 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
<td>−10:30</td>
<td>−1:00</td>
<td rowspan="2">HST</td>
- <td rowspan="2">Hawaii standard time</td>
+ <td rowspan="3">Hawaii standard time</td>
<td>1947-06-08</td>
</tr>
<tr>
<td>−10:00³</td>
<td>+0:30³</td>
- <td colspan="2">–</td>
+ <td>2026-08-07</td>
+ <td>06:00⁴</td>
</tr>
+<tr>
+ <td>−10:00</td>
+ <td>0</td>
+ <td>-10⁵</td>
+ <td colspan="2">–</td>
<tr>
<td colspan="6" class="footnote">
¹Switching to US rules...most recent transition (in 1919) was to standard time
@@ -657,6 +678,16 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
−10:00 year-round.
</td>
</tr>
+<tr>
+ <td colspan="6" class="footnote">
+ ⁴16:00 UT + (−10:00) = 06:00 local
+ </td>
+</tr>
+<tr>
+ <td colspan="6" class="footnote">
+ ⁵Abbreviation change only
+ </td>
+</tr>
</table>
<p>There will be a short quiz later. <code>8-)</code></p>
diff --git a/tz-link.html b/tz-link.html
index b72f76ab..adc4f7b0 100644
--- a/tz-link.html
+++ b/tz-link.html
@@ -132,8 +132,8 @@ for timestamps after 1960 this is more precisely <a
href="https://en.wikipedia.org/wiki/Coordinated_Universal_Time">Coordinated
Universal Time</a> (<abbr>UTC</abbr>).
The database also records when daylight saving time was in use,
-along with some time zone abbreviations such as <abbr>EST</abbr>
-for Eastern Standard Time in the <abbr>US</abbr>.</p>
+along with some time zone abbreviations such as <abbr>JST</abbr>
+for Japan Standard Time.</p>
</section>
<section>
@@ -1234,15 +1234,13 @@ Formats on the Web</a> surveys web- and Internet-oriented date and time
formats.</li>
<li>Alphabetic time zone abbreviations should not be used as unique
identifiers for <abbr>UT</abbr> offsets as they are ambiguous in
-practice. For example, in English-speaking North America
-“<abbr>CST</abbr>” denotes 6 hours behind <abbr>UT</abbr>,
-but in China it denotes 8 hours ahead of <abbr>UT</abbr>,
-and French-speaking North Americans prefer
-“<abbr title="Heure Normale du Centre">HNC</abbr>” to
-“<abbr>CST</abbr>”. The <code><abbr>tz</abbr></code>
+practice. For example,
+“<abbr>IST</abbr>” can denote time in India, Ireland or Israel.
+The <code><abbr>tz</abbr></code>
database contains English abbreviations for many timestamps;
unfortunately some of these abbreviations were merely the database maintainers’
-inventions, and these have been removed when possible.</li>
+inventions, and others have changed their meaning with time and so
+have become more ambiguous, and these have been removed when possible.</li>
<li>Numeric time zone abbreviations typically count hours east of
<abbr>UT</abbr>, e.g., +09 for Japan and
−10 for Hawaii. However, <abbr>POSIX</abbr> proleptic
diff --git a/tzfile.5 b/tzfile.5
index edf96346..3bd60326 100644
--- a/tzfile.5
+++ b/tzfile.5
@@ -380,20 +380,20 @@ abbreviations and offsets.
Some readers designed for version 2 do not support
permanent daylight saving time with transitions after 24:00
\(en e.g., a TZ string
-.q "EST5EDT,0/0,J365/25"
-denoting permanent Eastern Daylight Time
-(\-04).
+.q "CST-8CDT,0/0,J365/25"
+denoting a hypothetical permanent China Daylight Time
+(+09).
As a workaround, a writer can substitute standard time
for two time zones east, e.g.,
-.q "XXX3EDT4,0/0,J365/23"
-for a time zone with a never-used standard time (XXX, \-03)
-and negative daylight saving time (EDT, \-04) all year.
+.q "XXX-10CDT-09,0/0,J365/23"
+for a time zone with a never-used standard time (XXX, +10)
+and negative daylight saving time (CDT, +09) all year.
Alternatively,
as a partial workaround, a writer can substitute standard time
for the next time zone east \(en e.g.,
-.q "AST4"
+.q "JST\-9"
for permanent
-Atlantic Standard Time (\-04).
+Japan Standard Time (+09).
.IP \(bu
Some readers designed for version 2 or 3 and that require strict
conformance to RFC 9636 reject version 4 files whose leap second
diff --git a/zdump.8 b/zdump.8
index 9996039e..16c54281 100644
--- a/zdump.8
+++ b/zdump.8
@@ -170,6 +170,7 @@ TZ="Pacific/Honolulu"
1945-08-14 13:30 -0930 HPT 1
1945-09-30 01 -1030 HST
1947-06-08 02:30 -10 HST
+2026-11-01 01 -10
.in
.if \n(.g .ft
.sp
@@ -181,9 +182,10 @@ the following time interval is 10.5 hours west of UT, a standard time
abbreviated HST. Immediately after the second transition, the date is
1933-04-30 and the time is 03:00:00 and the following time interval is
9.5 hours west of UT, is abbreviated HDT, and is daylight saving time.
-Immediately after the last transition the date is 1947-06-08 and the
-time is 02:30:00, and the following time interval is 10 hours west of
-UT, a standard time abbreviated HST.
+Immediately after the last transition the date is 2026-11-01 and the
+time is 01:00:00, and the following time interval is 10 hours west of
+UT, a standard time abbreviated
+.q "\-10" .
.PP
.ne 10
Here are excerpts from another example:
diff --git a/zic.8 b/zic.8
index 233c2eaf..1a2be742 100644
--- a/zic.8
+++ b/zic.8
@@ -558,9 +558,9 @@ Gives the
or
.q "D"
in
-.q "EST"
+.q "AEST"
or
-.q "EDT" )
+.q "AEDT" )
of time zone abbreviations to be used when this rule is in effect.
If this field is
.q \- ,
diff --git a/zone.tab b/zone.tab
index 8ff275a2..a94bbf3b 100644
--- a/zone.tab
+++ b/zone.tab
@@ -108,28 +108,28 @@ BW -2439+02555 Africa/Gaborone
BY +5354+02734 Europe/Minsk
BZ +1730-08812 America/Belize
CA +4734-05243 America/St_Johns Newfoundland, Labrador (SE)
-CA +4439-06336 America/Halifax Atlantic - NS (most areas), PE
-CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton)
-CA +4606-06447 America/Moncton Atlantic - New Brunswick
-CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
-CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore)
-CA +4339-07923 America/Toronto Eastern - ON & QC (most areas)
-CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
-CA +484531-0913718 America/Atikokan EST - ON (Atikokan), NU (Coral H)
-CA +4953-09709 America/Winnipeg Central - ON (west), Manitoba
-CA +744144-0944945 America/Resolute Central - NU (Resolute)
-CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
-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 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)
-CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
-CA +6043-13503 America/Whitehorse MST - Yukon (east)
-CA +6404-13925 America/Dawson MST - Yukon (west)
+CA +4439-06336 America/Halifax NS (most areas), PE
+CA +4612-05957 America/Glace_Bay NS (Cape Breton)
+CA +4606-06447 America/Moncton New Brunswick
+CA +5320-06025 America/Goose_Bay Labrador (most areas)
+CA +5125-05707 America/Blanc-Sablon QC (Lower North Shore)
+CA +4339-07923 America/Toronto ON & QC (most areas)
+CA +6344-06828 America/Iqaluit NU (most areas)
+CA +484531-0913718 America/Atikokan ON (Atikokan), NU (Coral H)
+CA +4953-09709 America/Winnipeg ON (west), Manitoba
+CA +744144-0944945 America/Resolute NU (Resolute)
+CA +624900-0920459 America/Rankin_Inlet NU (central)
+CA +5024-10439 America/Regina SK (most areas)
+CA +5017-10750 America/Swift_Current SK (midwest)
+CA +5333-11328 America/Edmonton AB, BC(E), NT(E), SK(W)
+CA +690650-1050310 America/Cambridge_Bay NU (west)
+CA +682059-1334300 America/Inuvik NT (west)
+CA +4916-12307 America/Vancouver BC (most areas)
+CA +4906-11631 America/Creston BC (Creston)
+CA +5546-12014 America/Dawson_Creek BC (Dawson Cr, Ft St John)
+CA +5848-12242 America/Fort_Nelson BC (Ft Nelson)
+CA +6043-13503 America/Whitehorse Yukon (east)
+CA +6404-13925 America/Dawson Yukon (west)
CC -1210+09655 Indian/Cocos
CD -0418+01518 Africa/Kinshasa Dem. Rep. of Congo (west)
CD -1140+02728 Africa/Lubumbashi Dem. Rep. of Congo (east)
@@ -400,27 +400,27 @@ UA +5026+03031 Europe/Kyiv most of Ukraine
UG +0019+03225 Africa/Kampala
UM +2813-17722 Pacific/Midway Midway Islands
UM +1917+16637 Pacific/Wake Wake Island
-US +404251-0740023 America/New_York Eastern (most areas)
-US +421953-0830245 America/Detroit Eastern - MI (most areas)
-US +381515-0854534 America/Kentucky/Louisville Eastern - KY (Louisville area)
-US +364947-0845057 America/Kentucky/Monticello Eastern - KY (Wayne)
-US +394606-0860929 America/Indiana/Indianapolis Eastern - IN (most areas)
-US +384038-0873143 America/Indiana/Vincennes Eastern - IN (Da, Du, K, Mn)
-US +410305-0863611 America/Indiana/Winamac Eastern - IN (Pulaski)
-US +382232-0862041 America/Indiana/Marengo Eastern - IN (Crawford)
-US +382931-0871643 America/Indiana/Petersburg Eastern - IN (Pike)
-US +384452-0850402 America/Indiana/Vevay Eastern - IN (Switzerland)
-US +415100-0873900 America/Chicago Central (most areas)
-US +375711-0864541 America/Indiana/Tell_City Central - IN (Perry)
-US +411745-0863730 America/Indiana/Knox Central - IN (Starke)
-US +450628-0873651 America/Menominee Central - MI (Wisconsin border)
-US +470659-1011757 America/North_Dakota/Center Central - ND (Oliver)
-US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural)
-US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer)
-US +394421-1045903 America/Denver Mountain (most areas)
-US +433649-1161209 America/Boise Mountain - ID (south), OR (east)
-US +332654-1120424 America/Phoenix MST - AZ (except Navajo)
-US +340308-1181434 America/Los_Angeles Pacific
+US +404251-0740023 America/New_York eastern US (most areas)
+US +421953-0830245 America/Detroit MI (most areas)
+US +381515-0854534 America/Kentucky/Louisville KY (Louisville area)
+US +364947-0845057 America/Kentucky/Monticello KY (Wayne)
+US +394606-0860929 America/Indiana/Indianapolis IN (most areas)
+US +384038-0873143 America/Indiana/Vincennes IN (Da, Du, K, Mn)
+US +410305-0863611 America/Indiana/Winamac IN (Pulaski)
+US +382232-0862041 America/Indiana/Marengo IN (Crawford)
+US +382931-0871643 America/Indiana/Petersburg IN (Pike)
+US +384452-0850402 America/Indiana/Vevay IN (Switzerland)
+US +415100-0873900 America/Chicago central US (most areas)
+US +375711-0864541 America/Indiana/Tell_City IN (Perry)
+US +411745-0863730 America/Indiana/Knox IN (Starke)
+US +450628-0873651 America/Menominee MI (Wisconsin border)
+US +470659-1011757 America/North_Dakota/Center ND (Oliver)
+US +465042-1012439 America/North_Dakota/New_Salem ND (Morton rural)
+US +471551-1014640 America/North_Dakota/Beulah ND (Mercer)
+US +394421-1045903 America/Denver Rocky Mountains (most areas)
+US +433649-1161209 America/Boise ID (south), OR (east)
+US +332654-1120424 America/Phoenix AZ (except Navajo)
+US +340308-1181434 America/Los_Angeles US west coast
US +611305-1495401 America/Anchorage Alaska (most areas)
US +581807-1342511 America/Juneau Alaska - Juneau area
US +571035-1351807 America/Sitka Alaska - Sitka area
diff --git a/zone1970.tab b/zone1970.tab
index 0c6a15c5..9adcc377 100644
--- a/zone1970.tab
+++ b/zone1970.tab
@@ -101,25 +101,25 @@ BT +2728+08939 Asia/Thimphu
BY +5354+02734 Europe/Minsk
BZ +1730-08812 America/Belize
CA +4734-05243 America/St_Johns Newfoundland, Labrador (SE)
-CA +4439-06336 America/Halifax Atlantic - NS (most areas), PE
-CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton)
-CA +4606-06447 America/Moncton Atlantic - New Brunswick
-CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
-CA,BS +4339-07923 America/Toronto Eastern - ON & QC (most areas)
-CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
-CA +4953-09709 America/Winnipeg Central - ON (west), Manitoba
-CA +744144-0944945 America/Resolute Central - NU (Resolute)
-CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
-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 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)
-CA +6043-13503 America/Whitehorse MST - Yukon (east)
-CA +6404-13925 America/Dawson MST - Yukon (west)
+CA +4439-06336 America/Halifax NS (most areas), PE
+CA +4612-05957 America/Glace_Bay NS (Cape Breton)
+CA +4606-06447 America/Moncton New Brunswick
+CA +5320-06025 America/Goose_Bay Labrador (most areas)
+CA,BS +4339-07923 America/Toronto ON & QC (most areas)
+CA +6344-06828 America/Iqaluit NU (most areas)
+CA +4953-09709 America/Winnipeg ON (west), Manitoba
+CA +744144-0944945 America/Resolute NU (Resolute)
+CA +624900-0920459 America/Rankin_Inlet NU (central)
+CA +5024-10439 America/Regina SK (most areas)
+CA +5017-10750 America/Swift_Current SK (midwest)
+CA +5333-11328 America/Edmonton AB, BC(E), NT(E), SK(W)
+CA +690650-1050310 America/Cambridge_Bay NU (west)
+CA +682059-1334300 America/Inuvik NT (west)
+CA +4916-12307 America/Vancouver BC (most areas)
+CA +5546-12014 America/Dawson_Creek BC (Dawson Cr, Ft St John)
+CA +5848-12242 America/Fort_Nelson BC (Ft Nelson)
+CA +6043-13503 America/Whitehorse Yukon (east)
+CA +6404-13925 America/Dawson Yukon (west)
CH,DE,LI +4723+00832 Europe/Zurich Büsingen
CI,BF,GH,GM,GN,IS,ML,MR,SH,SL,SN,TG +0519-00402 Africa/Abidjan
CK -2114-15946 Pacific/Rarotonga
@@ -240,7 +240,7 @@ NR -0031+16655 Pacific/Nauru
NU -1901-16955 Pacific/Niue
NZ,AQ -3652+17446 Pacific/Auckland New Zealand time
NZ -4357-17633 Pacific/Chatham Chatham Islands
-PA,CA,KY +0858-07932 America/Panama EST - ON (Atikokan), NU (Coral H)
+PA,CA,KY +0858-07932 America/Panama ON (Atikokan), NU (Coral H)
PE -1203-07703 America/Lima
PF -1732-14934 Pacific/Tahiti Society Islands
PF -0900-13930 Pacific/Marquesas Marquesas Islands
@@ -252,7 +252,7 @@ PK +2452+06703 Asia/Karachi
PL +5215+02100 Europe/Warsaw
PM +4703-05620 America/Miquelon
PN -2504-13005 Pacific/Pitcairn
-PR,AG,CA,AI,AW,BL,BQ,CW,DM,GD,GP,KN,LC,MF,MS,SX,TT,VC,VG,VI +182806-0660622 America/Puerto_Rico AST - QC (Lower North Shore)
+PR,AG,CA,AI,AW,BL,BQ,CW,DM,GD,GP,KN,LC,MF,MS,SX,TT,VC,VG,VI +182806-0660622 America/Puerto_Rico QC (Lower North Shore)
PS +3130+03428 Asia/Gaza Gaza Strip
PS +313200+0350542 Asia/Hebron West Bank
PT +3843-00908 Europe/Lisbon Portugal (mainland)
@@ -312,27 +312,27 @@ TO -210800-1751200 Pacific/Tongatapu
TR +4101+02858 Europe/Istanbul
TW +2503+12130 Asia/Taipei
UA +5026+03031 Europe/Kyiv most of Ukraine
-US +404251-0740023 America/New_York Eastern (most areas)
-US +421953-0830245 America/Detroit Eastern - MI (most areas)
-US +381515-0854534 America/Kentucky/Louisville Eastern - KY (Louisville area)
-US +364947-0845057 America/Kentucky/Monticello Eastern - KY (Wayne)
-US +394606-0860929 America/Indiana/Indianapolis Eastern - IN (most areas)
-US +384038-0873143 America/Indiana/Vincennes Eastern - IN (Da, Du, K, Mn)
-US +410305-0863611 America/Indiana/Winamac Eastern - IN (Pulaski)
-US +382232-0862041 America/Indiana/Marengo Eastern - IN (Crawford)
-US +382931-0871643 America/Indiana/Petersburg Eastern - IN (Pike)
-US +384452-0850402 America/Indiana/Vevay Eastern - IN (Switzerland)
-US +415100-0873900 America/Chicago Central (most areas)
-US +375711-0864541 America/Indiana/Tell_City Central - IN (Perry)
-US +411745-0863730 America/Indiana/Knox Central - IN (Starke)
-US +450628-0873651 America/Menominee Central - MI (Wisconsin border)
-US +470659-1011757 America/North_Dakota/Center Central - ND (Oliver)
-US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural)
-US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer)
-US +394421-1045903 America/Denver Mountain (most areas)
-US +433649-1161209 America/Boise Mountain - ID (south), OR (east)
-US,CA +332654-1120424 America/Phoenix MST - AZ (most areas), Creston BC
-US +340308-1181434 America/Los_Angeles Pacific
+US +404251-0740023 America/New_York eastern US (most areas)
+US +421953-0830245 America/Detroit MI (most areas)
+US +381515-0854534 America/Kentucky/Louisville KY (Louisville area)
+US +364947-0845057 America/Kentucky/Monticello KY (Wayne)
+US +394606-0860929 America/Indiana/Indianapolis IN (most areas)
+US +384038-0873143 America/Indiana/Vincennes IN (Da, Du, K, Mn)
+US +410305-0863611 America/Indiana/Winamac IN (Pulaski)
+US +382232-0862041 America/Indiana/Marengo IN (Crawford)
+US +382931-0871643 America/Indiana/Petersburg IN (Pike)
+US +384452-0850402 America/Indiana/Vevay IN (Switzerland)
+US +415100-0873900 America/Chicago central US (most areas)
+US +375711-0864541 America/Indiana/Tell_City IN (Perry)
+US +411745-0863730 America/Indiana/Knox IN (Starke)
+US +450628-0873651 America/Menominee MI (Wisconsin border)
+US +470659-1011757 America/North_Dakota/Center ND (Oliver)
+US +465042-1012439 America/North_Dakota/New_Salem ND (Morton rural)
+US +471551-1014640 America/North_Dakota/Beulah ND (Mercer)
+US +394421-1045903 America/Denver Rocky Mountains (most areas)
+US +433649-1161209 America/Boise ID (south), OR (east)
+US,CA +332654-1120424 America/Phoenix AZ (most areas), Creston BC
+US +340308-1181434 America/Los_Angeles US west coast
US +611305-1495401 America/Anchorage Alaska (most areas)
US +581807-1342511 America/Juneau Alaska - Juneau area
US +571035-1351807 America/Sitka Alaska - Sitka area
diff --git a/zonenow.tab b/zonenow.tab
index 1c9b44b0..88d2cd66 100644
--- a/zonenow.tab
+++ b/zonenow.tab
@@ -28,20 +28,20 @@
#
#XX coordinates TZ comments
#
-# -11 - SST
-XX -1416-17042 Pacific/Pago_Pago Midway; Samoa (SST)
+# -11 - SST until 2026-11-01 01:00; then -11
+XX -1416-17042 Pacific/Pago_Pago Midway; Samoa
#
# -11
XX -1901-16955 Pacific/Niue Niue
#
-# -10 - HST
-XX +211825-1575130 Pacific/Honolulu Hawaii (HST)
+# -10 - HST until 2026-11-01 01:00; then -10
+XX +211825-1575130 Pacific/Honolulu Hawaii
#
# -10
XX -1732-14934 Pacific/Tahiti Tahiti; Cook Islands
#
-# -10/-09 - HST / HDT (North America DST)
-XX +515248-1763929 America/Adak western Aleutians in Alaska (HST/HDT)
+# -10/-09 - HST / HDT (North America DST) until 2026-11-01 02:00; then -09
+XX +515248-1763929 America/Adak western Aleutians in Alaska
#
# -09:30
XX -0900-13930 Pacific/Marquesas Marquesas
@@ -49,65 +49,59 @@ XX -0900-13930 Pacific/Marquesas Marquesas
# -09
XX -2308-13457 Pacific/Gambier Gambier
#
-# -09/-08 - AKST/AKDT (North America DST)
-XX +611305-1495401 America/Anchorage most of Alaska (AKST/AKDT)
+# -09/-08 - AKST/AKDT (North America DST) until 2026-11-01 02:00; then -08
+XX +611305-1495401 America/Anchorage most of Alaska
#
# -08
XX -2504-13005 Pacific/Pitcairn Pitcairn
#
-# -08/-07 - PST/PDT (North America DST)
-XX +340308-1181434 America/Los_Angeles Pacific (PST/PDT) - US; Mexico near US border
+# -08/-07 - PST/PDT (North America DST) until 2026-11-01 02:00; then -07
+XX +340308-1181434 America/Los_Angeles Pacific - western north America
#
-# -08/-07 - PST/PDT (North America DST) until 2026-11-01 02:00; then MST
-XX +4916-12307 America/Vancouver Mountain Standard (MST) - British Columbia (most areas)
+# -07 - MST until 2026-11-01 01:00; then -07
+XX +332654-1120424 America/Phoenix Arizona; western Mexico; Yukon
#
-# -07 - MST
-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; 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, NWT, and some neighbors
+# -07/-06 - MST/MDT (North America DST) until 2026-11-01 02:00; then -06
+XX +394421-1045903 America/Denver Mountain - US; Canada; Mexico near US border
#
# -06
XX -0054-08936 Pacific/Galapagos Galápagos
#
-# -06 - CST
-XX +1924-09909 America/Mexico_City Central Standard (CST) - Saskatchewan; central Mexico; Central America
+# -06 - CST until 2026-11-01 01:00; then -06
+XX +1924-09909 America/Mexico_City Saskatchewan; central Mexico; Central America
#
# -06/-05 (Chile DST)
XX -2709-10926 Pacific/Easter Easter Island
#
-# -06/-05 - CST/CDT (North America DST)
-XX +415100-0873900 America/Chicago Central (CST/CDT) - US & Canada; Mexico near US border
+# -06/-05 - CST/CDT (North America DST) until 2026-11-01 02:00; then -05
+XX +415100-0873900 America/Chicago central US & Canada; Mexico near US border
#
# -05
XX -1203-07703 America/Lima eastern South America
#
-# -05 - EST
-XX +175805-0764736 America/Jamaica Eastern Standard (EST) - Caymans; Jamaica; eastern Mexico; Panama
+# -05 - EST until 2026-11-01 01:00; then -05
+XX +175805-0764736 America/Jamaica Caymans; Jamaica; eastern Mexico; Panama
#
-# -05/-04 - CST/CDT (Cuba DST)
+# -05/-04 - CST/CDT (Cuba DST) until 2026-11-01 02:00; then -04
XX +2308-08222 America/Havana Cuba
#
-# -05/-04 - EST/EDT (North America DST)
-XX +404251-0740023 America/New_York Eastern (EST/EDT) - US & Canada
+# -05/-04 - EST/EDT (North America DST) until 2026-11-01 02:00; then -04
+XX +404251-0740023 America/New_York eastern US & Canada
#
# -04
XX +1030-06656 America/Caracas western South America
#
-# -04 - AST
-XX +1828-06954 America/Santo_Domingo Atlantic Standard (AST) - eastern Caribbean
+# -04 - AST until 2026-11-01 01:00; then -04
+XX +1828-06954 America/Santo_Domingo eastern Caribbean
#
# -04/-03 (Chile DST)
XX -3327-07040 America/Santiago most of Chile
#
-# -04/-03 - AST/ADT (North America DST)
-XX +4439-06336 America/Halifax Atlantic (AST/ADT) - Canada; Bermuda
+# -04/-03 - AST/ADT (North America DST) until 2026-11-01 02:00; then -03
+XX +4439-06336 America/Halifax Atlantic Canada; Bermuda
#
# -03:30/-02:30 - NST/NDT (North America DST)
-XX +4734-05243 America/St_Johns Newfoundland (NST/NDT)
+XX +4734-05243 America/St_Johns Newfoundland
#
# -03
XX -2332-04637 America/Sao_Paulo eastern and southern South America
@@ -268,8 +262,8 @@ XX +4310+13156 Asia/Vladivostok Russia; Yap; Chuuk; Papua New Guinea; Dumont d
# +10 - AEST
XX -2728+15302 Australia/Brisbane Queensland (AEST)
#
-# +10 - ChST
-XX +1328+14445 Pacific/Guam Mariana Islands (ChST)
+# +10 - ChST until 2026-11-01 01:00; then +10
+XX +1328+14445 Pacific/Guam Mariana Islands
#
# +10/+11 - AEST/AEDT (Australia DST)
XX -3352+15113 Australia/Sydney southeast Australia (AEST/AEDT)
--
2.53.0
13
51
Unfortunately, the temporary hacks that accommodate CLDR for this
year’s changes in Canada trigger a bug in libstdc++ std::chrono
from GCC 14.1 (2024) through 16.1 (2026) that mishandles today’s
timestamps in America/Edmonton and America/Vancouver.
See GCC bug 124851; a fix is planned for GCC 16.2.
Work around the problem by using names rather than numbers in the
temporary hacks’ RULES columns; this accommodates GCC’s bug while
continuing to accommodate CLDR’s bug.
I ran across this bug when looking into a bug of Waybar,
a status bar for Wayland compositors.
Waybar mishandles current timestamps for Edmonton and Vancouver.
The Waybar bug evidently is caused by the std::chrono bug.
* NEWS: Mention this.
* northamerica (America/Edmonton, America/Vancouver): Use ‘Canada’,
not ‘1:00’, for the RULES column in this year’s temporary hack.
---
NEWS | 7 +++++++
northamerica | 4 ++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/NEWS b/NEWS
index f898775e..35816c2f 100644
--- a/NEWS
+++ b/NEWS
@@ -33,6 +33,13 @@ Unreleased, experimental changes
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 bug in libstdc++ from GCC 14.1 through 16.1;
+ see GCC bug 124851, which affects std::chrono. This data change
+ does not affect TZif files or timestamps.
+
Changes to code
zic now rejects Link targets that would have invalid names.
diff --git a/northamerica b/northamerica
index b542adb1..9d05e891 100644
--- a/northamerica
+++ b/northamerica
@@ -1996,7 +1996,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
@@ -2103,7 +2103,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
--
2.55.0
2
3