Node获取系统时间
发布于 7 年前 作者 AllenYao 11537 次浏览 来自 问答

部署在centos上new Date().toLocaleString()和系统的date -R不一致

WechatIMG5.jpeg

WechatIMG6.jpeg

为什么?

9 回复

顶一下 大神来吧~

时差导致的吧 PET是秘鲁时间时间,和北京时间差13个小时(晚北京时间13小时) date -R 获取时间为 2017-07-12 09:00 转化为北京时间 (+13小时),是不是正好是 2017-07-12 10:00 PM呢?

@imhered 好像也不对。你在服务器上操作的,时区就是PET😂

@imhered 对啊,都是服务器上操作的 一个是系统date 一个是node

(1) use moment (2) 别依赖系统时区日期等local 信息, 由配置或请求决定 我们的服务器都是UTC0

新版本的Node里直接使用Date打印的都是greenwich时间

以前还有一个process.env.TZ能设置时区,现在没了

moment据说很好用

@shrpcn 后来改用moment了,解决问题

服务器上强制使用 utc 时间。数据库强制使用utc时间。你会幸福很多。 界面显示的时候根据用户的设定或者浏览器默认状态显示成他所在时区的时间。

回到顶部