Javascript node.js返回GMT时间,而不是“的本地时间”;新日期();。那是虫子吗?
如果不是bug,如何告诉node我的时区?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
如果是错误,是否已报告此错误?如果是错误,则在我的节点版本中不存在此错误。的确,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中表示
日期
对象的一个选择。此外,从nodev0.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是否在这段时间内“未修复”?