cle*_*aul 4 javascript timezone datetime object node.js
我正在运行Windows 10专业版,并且我的时区和区域设置设置为布里斯班/澳大利亚(UTC + 10:00)。此外,我正在为要构建的应用程序在系统上运行Node.js。
我在Node.js中运行以下命令:
var x = new Date();
console.log(x);
Run Code Online (Sandbox Code Playgroud)
它返回以下内容:
2017-09-07T23:42:33.719Z
注意datetime字符串末尾的Z吗?这代表祖鲁时间。(UTC + 0)
我假设没有指定时区时,这是在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)'
Run Code Online (Sandbox Code Playgroud)
您还可以process.env.TZ在运行时设置:
> process.env.TZ = 'Antarctica/Mawson'
> Date()
'Thu Sep 07 2017 17:11:00 GMT-0800 (+05)'
Run Code Online (Sandbox Code Playgroud)
请注意,无论时区如何,以这种方式调用时都new Date()将返回UTC 2017-09-08T01:05:58.103Z。