簡體   English   中英

Node.js在哪里獲得它的時區以及如何在全局設置它?

[英]Where does Node.js get it's timezone and how can I set it globally?

我正在運行Windows 10 Professional,我的時區和區域設置設置為布里斯班/澳大利亞(UTC + 10:00)。 此外,我正在我的系統上運行Node.js,用於我正在構建的應用程序。

我在Node.js中運行了以下命令:

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

它返回以下內容:

2017-09-07T23:42:33.719Z

注意日期時間字符串末尾的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)'

您還可以在運行時設置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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM