在javascript中尝试使用Date()获取当前日期时,我遇到了奇怪的行为。 首先,我通过
将时区设置为古巴sudo ln -sf /usr/share/zoneinfo/Cuba /etc/localtime
并在运行node.js的另一个控制台中运行Date()
。这是输出 -
> Date()
'Thu Oct 31 2013 06:28:25 GMT+1100 (CDT)'
在更改时区时,
sudo ln -sf /usr/share/zoneinfo/Asia/Vladivostok /etc/localtime
再次运行Date()
,这是输出 -
> Date()
'Thu Oct 31 2013 06:28:31 GMT+1100 (VLAT)'
任何人都可以解释为什么会发生这种情况,我如何根据时区获得时间?
答案 0 :(得分:2)
操作系统时区和node
的一些问题表明,虽然node
在运行时正确选择时区更改,但无法更新偏移量即可。这就是两个日期显示GMT+1100
的原因。
如果重新启动节点,您会发现偏移和时区都是正确的。我怀疑这是为了避免在运行期间意外地改变时间,但是使用Google搜索无法找到任何效果。