node.js返回GMT时间而不是“new Date()”的本地时间。那是一个错误吗?

时间:2012-03-31 21:43:54

标签: javascript datetime node.js date

如果不是错误,如何告诉节点我的时区? 如果有错误,是否已报告?

2 个答案:

答案 0 :(得分:7)

如果是bug,我的Node版本中不存在。确实,Node.js REPL更喜欢在我的版本中以GMT格式宣布:

> new Date()
Sat, 31 Mar 2012 21:51:47 GMT

但它实际上是时区感知的,这不是REPL在字符串化时显示的内容:

> new Date().getTimezoneOffset()
-120
> "" + new Date()
'Sat Mar 31 2012 23:51:56 GMT+0200 (CEST)'

(我在Ubuntu上运行Node.js v0.6.1。)

答案 1 :(得分:5)

这不是一个错误,只是选择Node如何决定在其REPL中表示Date对象。此外,从节点v0.7.x开始,此输出已更改为显示本地时间,与浏览器行为相匹配:

☮ ~ (master) ⚡ node
> process.version
'v0.7.7'
> new Date
Sat Mar 31 2012 15:12:13 GMT-0700 (PDT)