PST 更改为 PDT,时间为 4 月 1 日,而不是 3 月 11 日凌晨 2:00?

PST 更改为 PDT,时间为 4 月 1 日,而不是 3 月 11 日凌晨 2:00?

我在我的嵌入式设备中收到投诉,称太平洋标准时间 (PST) 时区比华盛顿早一小时。我正在使用 tz 实用程序来设置时区。

这是洛杉矶时区

 2018   Sun, Mar 11 at 2:00 am  PST → PDT   +1 hour (DST start) UTC-7h
        Sun, Nov 4  at 2:00 am  PDT → PST   -1 hour (DST end)   UTC-8h

我什至使用最新的 2018 年二进制文件更新了 tz 实用程序,但仍然遇到此问题,我是否还遗漏了其他内容?

查看4月1日PST-PDT的变化后我很困惑?

usr/share/zoneinfo # date 031111002018; TZ='America/Los_Angeles' date
Sun Mar 11 11:00:00 UTC 2018
Sun Mar 11 03:00:00 PST 2018
/usr/share/zoneinfo # date 041111002018; TZ='America/Los_Angeles' date
Wed Apr 11 11:00:00 UTC 2018
Wed Apr 11 04:00:00 PDT 2018 <--- Here UTC-7 to UTC-8

PST->PDT 更改为 4 月 1 日凌晨 2:00。

/usr/share/zoneinfo # date 040110242018; TZ='America/Los_Angeles' date 
Sun Apr  1 10:24:00 UTC 2018
Sun Apr  1 03:24:00 PDT 2018

答案1

这听起来像是您的设备正在使用Pacific-New时区,这是一个拟议的时区,在美国从未成为法律,并且指定在四月的第一个星期日切换到夏令时:

# Rule  NAME    FROM    TO      TYPE    IN      ON      AT      SAVE    LETTER/S
## Rule Twilite XXXX    max     -       Apr     Sun>=1  2:00    1:00    D
## Rule Twilite XXXX    max     uspres  Oct     lastSun 2:00    1:00    PE
## Rule Twilite XXXX    max     uspres  Nov     Sun>=7  2:00    0       S
## Rule Twilite XXXX    max     nonpres Oct     lastSun 2:00    0       S

由于各种原因,某些系统历史上最终使用此时区而不是正确的太平洋时区;看这份风险报告(从 1992 年开始!)或这个 Debian 错误(自 2016 年起)为例。 2018 年第一个版本中存在一些问题tzdata,可能导致某些系统出现问题。从2018c 的发行说明:

默认安装过程不再创建向后兼容链接US/Pacific-New,这会在用户设置过程中引起混乱(例如,请参阅 Debian bug 815200)。无论如何,现在使用make BACKWARD="backward pacificnew"来创建链接。最终我们计划完全删除该链接。

pacificnew文件设置了一个从US/Pacific-New到 的链接America/Los_Angeles,并且该backward文件设置了一个从US/Pacific到 的链接America/Los_Angeles。因此理论上数据应该是正确的,但这取决于您的Los_Angeles文件包含的内容。

相关内容