首页 > 解决方案 > 让 node.js 使用系统时区

问题描述

我有一个带有 'Debian GNU/Linux 8 (jessie)' 和 node.js 8 的 Docker 容器。系统时区(in /etc/timezone)是 'Europe/Moscow' 但是当我运行node并输入

new Date();

我得到了 UTC 日期,但没有得到莫斯科当地的日期。

如何让 node.js 默认使用系统时区?

标签: node.jsdatetimetimezone

解决方案


Node.js 正在使用您系统的时区,请使用以下内容进行检查:

new Date().toString()

当你这样做时: new Date(),你得到的输出是 UTC,这与你在 Chrome 控制台中得到的输出不同,其中new Date().toString()&new Date()给出了相同的字符串格式。但这并不意味着它没有使用您的系统时区。您正在获取当前时间,转换为 UTC

console.log(new Date())

要确认设置特定日期:

console.log(new Date(2019,11,11,15,31,0).toString())
// Wed Dec 11 2019 15:31:00 {YOUR-TIMEZONE} 

推荐阅读