Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js返回GMT时间,而不是“的本地时间”;新日期();。那是虫子吗?_Javascript_Datetime_Node.js_Date - Fatal编程技术网

Javascript node.js返回GMT时间,而不是“的本地时间”;新日期();。那是虫子吗?

Javascript node.js返回GMT时间,而不是“的本地时间”;新日期();。那是虫子吗?,javascript,datetime,node.js,date,Javascript,Datetime,Node.js,Date,如果不是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 2

如果不是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。)

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

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

既然你知道自己的时区与格林尼治标准时间的关系,你就不能用适当的偏移量来调整吗?对于GMT来说,灵活处理不同的服务器位置似乎是合适的。在我看来,这确实是一个bug。在控制台中显示日期在ECMAScript中还没有标准化。所以这没关系。节点6.9.4中@TooTallNatebehavior的积分仍然相同。默认情况下,它是否应该基于机器设置返回(与浏览器一样)?从
v10.15 LTS
开始,行为仍保持原样(使用UTC而不是本地时间)!这个bug是否在这段时间内“未修复”?