On Fri, 6 Mar 2026 at 23:38, Tim Parenti <tim@timtimeonline.com> wrote:

On Fri, 6 Mar 2026 at 17:01, Robert Bastian via tz <tz@iana.org> wrote:
All that ICU sees is tm_isdst=0.

If that is true, then that is an extremely brittle design decision in the face of outright zone changes — one which needs some re-evaluation regardless of the proximal situation or how it is resolved.

While I admit that whether the bulk of British Columbia is truly "changing zones" here is dependent on one's interpretation, it seems readily apparent to me that "friendly names" such as those provided by CLDR should at least be keyed on TZID and calculated UTC offset (with reasonable fallbacks) to ensure they don't break if and when a true zone change occurs.  The vagaries of the obsolescent tm_isdst flag needn't factor into this equation.
 
I'm also interested in which legislation you saw that says this change to "Pacific Time" happens at midnight on Monday?

The Order in Council effectuates the legislative changes from Monday 9 March 2026.
So, legally, the change from 02:00 Pacific Standard Time to 03:00 Pacific Daylight Time occurs as usual on Sunday, and the new legal name for the zone takes effect 21 hours later at the start of the day on Monday along with the repeal of BC's legal framework for DST.  This is a strong reason for modeling the data as we presently have it drafted.

I note that we initially took the exact same approach in tzdata for Yukon in 2020 (albeit mistakenly at first).  We had (incorrectly) understood that the Yukon press release published 2020-03-04 described a "done deal" effective 2020-03-08.  While we did not rush to release then, as wall clock times would not diverge until 2020-11-01, release 2020a, dated 2020-04-23, reflected our then-understanding of Yukon's change and published MST with tm_isdst=0.  We later found out that the change wouldn't actually take legal effect until 2020-11-01, so release 2020b, dated 2020-10-06, retroactively applied PDT and tm_isdst=1 back to the 2020 DST period until the 2020-11-01 change.

So, a system taking tzdata updates promptly would have seen the following for America/Whitehorse in 2020:
  • To start the year: UTC−8, PST, tm_isdst=0
  • From 2020-03-08: UTC−7, PDT, tm_isdst=1
  • From ≥2020-04-23 (2020a update): UTC−7, MST, tm_isdst=0
  • From ≥2020-10-06 (2020b update): UTC−7, PDT, tm_isdst=1
  • From 2020-11-01: UTC−7, MST, tm_isdst=0
All of this back-and-forth with tm_isdst transpired without issues being raised at the time.

--
Tim Parenti