javascript - Node.js 在哪里获得它的时区以及如何全局设置它?

标签 javascript node.js datetime object timezone

我运行的是 Windows 10 专业版,我的时区和区域设置为布里斯类/澳大利亚 (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 环境设置为时区字符串。

例如:

$ 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

关于javascript - Node.js 在哪里获得它的时区以及如何全局设置它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46107050/

相关文章:

javascript - 从同一类中的另一个方法访问一个方法,该方法作为 props 传递给另一个类

javascript - jQuery-Galleriffic,获取当前图像的标题

javascript 给出意想不到的结果

javascript - Three.js BufferGeometry blob代码更新错误

javascript - 字符串作为对对象变量的对象引用

node.js - PM2进程重启后消失

node.js - 我无法在 ubuntu 20.04 中安装 Nestjs

c# - 看不出这个简单的 SQL 查询是 'malformed' !

javascript - Date.toString() 的输出总是采用相同的格式吗?

python - 在python中将日期从数据集转换为yyyy-mm-dd