如何在node.js中设置默认时区?
如何在node.js中设置默认时区?
我使用这个npm软件包unix-system-timezone
您可以选择时区。它可以让您设置位置,还可以节省夏令时。
对于那些将Node.js应用程序部署到Amazon AWS Elastic Beanstalk的人来说,这是一个答案。我在其他任何地方都没有看到此文档:
在下Configuration -> Software -> Environment Properties
,只需设置键值对TZ
和您的时区,例如America/Los Angeles
,然后应用更改。
您可以通过new Date().toString()
在Node应用程序中输出并注意时区后缀来验证效果。
我知道这个线程很旧,但是我认为这会对像我这样从Google登陆到这里的人有所帮助。
在GAE Flex(NodeJs)中,您可以在app.yaml文件中设置环境变量TZ(管理应用程序中所有日期时区的变量),在此我给您一个示例:
app.yaml
# [START env]
env_variables:
# Timezone
TZ: America/Argentina/Buenos_Aires
设置服务器时区并使用NTP同步。这是更改服务器时间的一种更好的解决方案。
列出时区
timedatectl list-timezones
设定时区
sudo timedatectl set-timezone America/New_York
验证时区
timedatectl
我更喜欢对服务器和数据库使用UTC时区。任何转换都必须在客户端上进行。我们可以在客户端使用moment.js。
同样,维护许多实例也很容易,
不幸的是,设置process.env.TZ
并不能很好地起作用 -基本上,更改生效的时间不确定。
因此,在启动节点之前设置系统的时区是您唯一的正确选择。
但是,如果您不能这样做,则可以使用节点时间作为一种解决方法:以本地时间或UTC时间获取时间,然后将其转换为所需的时区。请参阅如何在Nodejs中使用时区偏移量?有关详细信息。
您可以使用库tzdata配置全局时区:
用变量设置环境后,例如:TZ = America / Bogota
并在您的项目中进行测试:
希望对您有帮助