更改 Heroku 应用的时区
我几周前发现了Heroku 。它是一个很棒的应用程序部署平台,尤其是它的免费套餐,我一直用它来搭建开发环境,以便与我的团队远程协作。
最近我开始了一个新项目。在这个项目中,我大部分的主要操作都依赖于日期。该应用程序的前端使用 Angular 5 构建,后端使用 Node.js 构建。
在我的本地环境中一切运行正常,但当我部署到 Heroku 时,所有日期操作都开始表现得有点随机(剧透:其实根本不是随机的)。
是这样的。我来自阿根廷,前端部署在本地服务器上,后端则部署在 Heroku 上,而 Heroku 新应用的默认区域是“美国”。所以,我的前端和后端实际上处于不同的时区。
这并非我第一次遇到这类日期问题(我所在的地区本地云服务不多),所以我几乎立刻就找到了问题的根源,我想和你们分享一下,以防你们遇到类似的问题。
幸运的是,Heroku 允许我们通过添加一个新的配置变量来更改应用程序的时区。
通过 Heroku CLI
- 打开命令提示符
- 登录 Heroku
- 导航至您的应用目录
- 设置您的时区
heroku config:add TZ="America/Argentina/Buenos_Aires"
从 Heroku 控制面板(网页)
- 通过浏览器登录 Heroku 控制面板。
- 打开应用
- 点击“设置”选项卡
- 按下“显示配置变量”按钮
- 将键设置为“TZ”,值设置为您的时区(例如:America/Argentina/Buenos_Aires)。
- 按下“添加”按钮
我如何知道哪个TZ值是正确的?
点击此链接查看完整的时区列表
检查新的 TZ 值
使用以下命令从 Heroku CLI 检查新配置变量的值:
heroku config:get TZ