如何在node.js中设置默认时区?
当前回答
不幸的是,设置process.env.TZ工作得不是很好——基本上不确定什么时候更改会生效)。
因此,在启动节点之前设置系统时区是唯一正确的选择。
但是,如果您不能这样做,应该可以使用节点时间作为一种变通方法:以本地时间或UTC时间获取时间,并将它们转换为所需的时区。参见如何在Nodejs中使用时区偏移?获取详细信息。
其他回答
另一种至少在Linux环境下对我有用的方法是像这样运行你的Node.js应用程序:
env TZ='Europe/Amsterdam' node server.js
这至少可以确保从一开始就正确地设置了时区。
只要在你的主文件中设置环境变量,比如index.js或app.js或main.js或任何你的文件名:
process.env.TZ = "Asia/Tehran";
这将设置将在整个节点应用程序中使用的时区
这里是一个100%工作的例子,在NodeJs中获得自定义时区日期时间,而不使用任何外部模块:
const nDate =新日期()。toLocaleString(“en - us”{ 时区:“亚洲/加尔各答” }); console.log (nDate);
我使用这个NPM包unix-system-timezone
我知道这个帖子很旧了,但我认为这将帮助任何像我一样从谷歌登陆这里的人。
在GAE Flex (NodeJs)中,你可以在app.yaml文件中设置环境变量TZ(一个管理应用程序中所有日期时区的变量),我给你留了一个例子:
app.yaml
# [START env]
env_variables:
# Timezone
TZ: America/Argentina/Buenos_Aires
推荐文章
- 如何在Django中设置时区
- ReferenceError: description没有定义NodeJs
- Java SimpleDateFormat("yyyy-MM-dd' t ' hh:mm:ss' z '")给出的时区为IST
- 将一个二进制的NodeJS Buffer转换为JavaScript的ArrayBuffer
- AngularJS只适用于单页应用程序吗?
- 如何在vue-cli项目中更改端口号
- 同步和异步编程(在node.js中)的区别是什么?
- 如何编辑通过npm安装的节点模块?
- “node_modules”文件夹应该包含在git存储库中吗
- 使用package.json在全局和本地安装依赖项
- this.libOptions.parse不是一个函数
- 对嵌套文件夹运行npm install的最好方法是什么?
- 节点Multer异常字段
- 很好的初学者教程socket.io?
- CALL_AND_RETRY_LAST分配失败-进程内存不足