JSdate()返回正确的时区,但错误的date

当我尝试在javascript中使用Date()获取当前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)' 

任何人都可以请解释为什么会发生这种情况,我怎样才能得到基于时区的时间?

一些与操作系统时区和node混淆的事实表明,虽然node正在运行正确地select时更改,但它无法更新偏移量 。 这就是为什么这两个date显示GMT+1100

如果重新启动节点,则会发现偏移量和时区都是正确的。 我怀疑这是为了避免在运行过程中出现意想不到的变化,但是在Googlesearch中找不到这种效果。