JS Date 对 DST 更改没有反应
JS Date doesn't react to DST change
我已经在控制台中测试了 new Date()
,return 值不依赖于 DST。
但是我电脑的时钟可以。
查看控制台和 Windows 任务栏中的时差。他们不一样。
如何解决?
JavaScript 正在做正确的事。但是,大多数浏览器(Chrome 等)只会在所有浏览器 windows 关闭且浏览器处于关闭状态时检测到 Window 的“自动调整夏令时”设置的更改重新启动。
也就是说,我最好的建议是永远不要关闭“自动调整夏令时”设置。该设置仅作为 Window 历史的产物存在,并且目前仅在一些非常罕见的边缘情况下才需要。保留它。
您还应该打开“自动设置时间”,因为这会将您的计算机时钟同步到 Internet。
对于时区,您可以尝试使用“自动设置时区”——这在很多情况下都有效,但如果您通过 VPN 连接,有时会选择错误的时区。您也可以关闭它,然后从时区列表中选择您的时区。
为了演示关闭“自动调整夏令时”的错误,下面是我完全更新的 Windows 11 机器的屏幕截图。请注意,如果我将其关闭,设置面板中的时间与任务栏中的时间相差一个小时。那是 Windows 中的一个错误,以前出现过,现在显然又退化了。最好避免它。
我已经在控制台中测试了 new Date()
,return 值不依赖于 DST。
但是我电脑的时钟可以。
查看控制台和 Windows 任务栏中的时差。他们不一样。
如何解决?
JavaScript 正在做正确的事。但是,大多数浏览器(Chrome 等)只会在所有浏览器 windows 关闭且浏览器处于关闭状态时检测到 Window 的“自动调整夏令时”设置的更改重新启动。
也就是说,我最好的建议是永远不要关闭“自动调整夏令时”设置。该设置仅作为 Window 历史的产物存在,并且目前仅在一些非常罕见的边缘情况下才需要。保留它。
您还应该打开“自动设置时间”,因为这会将您的计算机时钟同步到 Internet。
对于时区,您可以尝试使用“自动设置时区”——这在很多情况下都有效,但如果您通过 VPN 连接,有时会选择错误的时区。您也可以关闭它,然后从时区列表中选择您的时区。
为了演示关闭“自动调整夏令时”的错误,下面是我完全更新的 Windows 11 机器的屏幕截图。请注意,如果我将其关闭,设置面板中的时间与任务栏中的时间相差一个小时。那是 Windows 中的一个错误,以前出现过,现在显然又退化了。最好避免它。