Node.js在哪里得到它的时区,我怎样才能全局设置它?

我正在运行Windows 10 Professional,并将我的时区和区域设置设置为布里斯class/澳大利亚(UTC + 10:00)。 此外,我正在为我正在构build的应用程序在我的系统上运行Node.js。

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

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

它返回了以下内容:

2017-09-07T23:42:33.719Z

注意date时间string结尾的Z? 这代表祖鲁时间。 (UTC + 0)

我认为这是在没有指定时区时在Node.js中默认设置的。 如何在Node.js中全局指定时区,以确保所有的date对象都正确返回?

您可以将TZ env设置为时区string。

例如:

 $ 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)' 

注意,不pipe时区如何, new Date()返回UTC 2017-09-08T01:05:58.103Z