Node.js从哪里获取时区,如何全局设置?



我正在运行Windows 10 Professional,我的时区和区域设置设置为布里斯班/澳大利亚(UTC 10:00)。此外,我在系统上运行node.js以供我构建的应用程序。

我在node.js中运行以下内容:

  var x = new Date();
  console.log(x);

它返回以下内容:

2017-09-07T23:42:33.719Z

请注意DateTime字符串末尾的Z?这代表祖鲁时间。(UTC 0)

i认为,当未指定时区时,默认情况下是在node.js中设置的。如何在Node.js上全局指定时区,以确保所有日期都正确返回?

您可以将TZ Env设置为时区字符串。

例如:

$ export TZ=Europe/Amsterdam
$ node
> Date()
'Fri Sep 08 2017 03:02:57 GMT+0200 (CEST)'

$ export TZ=America/Anchorage
$ node
> Date()
'Thu Sep 07 2017 17:04:46 GMT-0800 (AKDT)'

您还可以在运行时设置process.env.TZ

> process.env.TZ = 'Antarctica/Mawson'
> Date()
'Thu Sep 07 2017 17:11:00 GMT-0800 (+05)'

注意,无论时间区域如何,new Date()都会返回UTC 2017-09-08T01:05:58.103Z

相关内容

  • 没有找到相关文章

最新更新