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