node.js - NodeJs 时区与 Linux 时区不同
问题描述
我有一个安装了 npm 的 Linux 服务器(具体来说是 CentO)。服务器的时区是 UTC,我将其更改为伊朗 (+4:30)。
现在我的 linux 时区是伊朗(比如下午 7:00),而我的节点Date()
返回 UTC(下午 4:30)。
如何完全更改 Node 的默认时区(而不是在正在运行的应用程序上)?我搜索了很多,我找到的每个答案都是针对节点应用程序,而不是一般的节点服务。我希望更改 Node 的时区,而不是应用程序。
:( 顺便说一句,我的 CentO 没有任何 GUI。欢迎以文本模式回答
解决方案
我通过尝试不同的方法找到了解决方案。
首先我更改了 Centos 的时区,我在 pm2 上的应用程序仍然是 UTC 时区。
然后我使用更改了 TZ var cp /usr/share/zoneinfo/Asia/...
,但仍然没有结果。
然后我重新启动了我的 CentOs 服务器,期望更改生效,但还没有结果。服务器启动后,pm2 重新加载了我的应用程序,它仍然使用 UTC 时区。
最后我从 pm2 中删除了我的应用程序,然后再次添加它。那是我的应用程序开始使用本地时区的时候。
所以请记住,无论您对“Linux TimeZone”或“TZ var”做什么,pm2 都会记住您添加应用程序时的时区,并将其保存在某处并将其用作应用程序的时区。
推荐阅读
- mysql - 带有 where 条件和内部联接的 MySQL Select 语句
- java - 通过 TCP 同时发送两个数据包时,一个会丢失
- css - Safari 无法正确缩放图像
- javascript - 我的 firebase 查询调用没有得到我的文档,即使它存在
- javascript - 如何禁用故事书页面的文档
- javascript - 调用操作(vuex)时有效负载未通过-TypeError:无法读取未定义的属性'userDetails'
- ssl - Let's Encrypt 找不到监听 80 端口的虚拟主机
- vb.net - 我可以使用内置指纹读取器来测试我的应用程序吗?
- apache-spark - 从 Pub/Sub 通知启动 DataProc 作业
- html - textarea 不调整大小或收听 CSS