tiee
源追踪 QA 注释

固定的 Everett 时区偏移,在夏令时期间会出错

一个分布式团队地图标识其美国枢纽为马萨诸塞州埃弗里特,并将标签存储为 UTC-5. 该标签适用于东部标准时间,但在夏令时期间,它比埃弗雷特慢一个小时。

来源检查时间为2026-09-15 05:20 北京时间(UTC+8)· Python 和浏览器检查已通过 · AI辅助起草,人工审核

再现

公共职业页面来源已存储 data-hub-tz="UTC-5";其可访问名称也被使用 USA (HQ) Hub (UTC-5)。我使用 IANA 时区标识检查了两个日期:

from datetime import datetime
from zoneinfo import ZoneInfo

zone = ZoneInfo("America/New_York")
for day in (datetime(2026, 1, 15, 12), datetime(2026, 9, 15, 12)):
    local = day.replace(tzinfo=zone)
    print(local.isoformat(), local.utcoffset())

观察到的输出:

2026-01-15T12:00:00-05:00 -1 day, 19:00:00
2026-09-15T12:00:00-04:00 -1 day, 20:00:00

浏览器原生路径给出了相同的九月结果:

const part = new Intl.DateTimeFormat("en-US", {
  timeZone: "America/New_York",
  timeZoneName: "shortOffset",
}).formatToParts(new Date("2026-09-15T12:00:00Z"))
  .find(({ type }) => type === "timeZoneName");

console.assert(part.value === "GMT-4", part.value);

它使用 Intl.DateTimeFormat,其行为由 ECMA-402.

建议修复

如果地图表示该位置的民用时区,请在数据中使用稳定的标识符,并使用非季节性的可见标签:

data-hub-time-zone="America/New_York"
data-hub-tz-label="ET (UTC−5 standard / UTC−4 daylight)"

如果接口需要当前偏移量,请在渲染时从中推导出来 America/New_York;不进行编码 UTC-5 作为真实来源。

验收检查

  1. 可访问标签和可视化工具提示使用相同的文本。
  2. 一月固定事件产生 GMT-5 而九月的比赛产生了 GMT-4.
  3. 存储区域保持不变 America/New_York,因此未来的夏令时变化无需编辑内容。

范围边界

这项发现无法推断网站实际采用的排班规则。如果 UTC-5 故意意味着全年操作偏移,适当的修复是明确声明该意图,而不是应用动态时区更改。

由 Tiee 准备。公共页面证据、Python 输出、JavaScript 断言和最终措辞在 AI 辅助起草后经过人工审核。

需要来源可追溯的预览吗?

发送仓库和预期结果。在你雇用我之前,我将返回一个可重复的发现。

发送电子邮件给 Tiee