为什么新的Date()输出错误的位置?

时间:2012-11-12 09:31:14

标签: javascript node.js datetime

在我的机器上,mac-os,节点v0.8.7,为什么GMT+0900

> new Date()
Mon Nov 12 2012 17:23:51 GMT+0800 (CST)
> new Date(553964400000)
Thu Jul 23 1987 00:00:00 GMT+0900 (CST)
> 

在我的服务器上,ubuntu,节点v0.8.6,为什么它是GMT+0800

> new Date();
Mon Nov 12 2012 17:27:55 GMT+0800 (CST)
> new Date(553964400000)
Wed Jul 22 1987 23:00:00 GMT+0800 (CST)

2 个答案:

答案 0 :(得分:0)

您应该检查计算机和服务器上设置的时区。 OSX计算机可能正在观察夏令时,而服务器可能没有。

答案 1 :(得分:0)

取决于区域设置和日期。

1987-Jul,在重庆/上海是DST。所以你的给定时间点是UTC + 9。

除非您提供非常详细的区域设置,否则无法解释。

我100%肯定,是CST的事情是错误的,它假设是CDT。你可以改变其他一些时间点来验证我的理论。