Javascript date toLocaleString 是否考虑 DST?

2023-12-13

我已经设置了 UTC 截止日期,如下所示,我想知道 toLocaleString() 方法到底会在用户的本地计算机上对其执行什么操作。例如,如果他们位于认可夏令时的时区,它会考虑夏令时吗?或者我是否需要插入额外的代码来检查用户所在位置,然后修复显示的时间?

http://javascript.about.com/library/bldst.htm

var deadline = new Date('5/1/2013 ' + "16:15" + ' UTC');
alert(deadline.toLocaleString());

一般来说,答案是yes。 JavaScript 将根据运行它的计算机的时区设置来表示适当本地时间的 UTC 值。这包括夏令时的调整。然而,正如其他人指出的那样,细节是特定于实现的。

如果您想要一致的输出,我会使用库来格式化您的日期,而不是依赖默认实现。最好的图书馆(恕我直言)是moment.js。他们主页上的实例将让您了解它的功能。

UPDATE

如果您传递想要转换为正确本地时间的 UTC 值,并且该时间属于时区规则与当前时区规则不同的时期,则结果将无效。这很疯狂,但却是事实——并且是 ECMA 规范中设计的。读 -JavaScript 时区对于过去的夏令时转换规则是错误的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript date toLocaleString 是否考虑 DST? 的相关文章

随机推荐