javascript - 时间在 Heroku 上显示错误,但使用 moment 在 localhost 上显示正确

标签 javascript heroku momentjs

我被这个问题困扰了近5个小时!在网上尝试了很多解决办法,也都试过了,还是不行。将不胜感激任何形式的帮助!

我的本​​地主机上有一个字符串:

datestring = 'Fri, 04 Aug 2017 14:15:17 GMT' 

通过时刻会给我:

datestring = moment.utc(datestring).format('LLLL')
>> Friday, August 4, 2017 2:15 PM

这显示在我的本地主机上并且是正确的。但是,当我将其部署到 Heroku 时,日期和时间变得错误:

>> Thursday, August 3, 2017 6:24 PM

我的时区是 UTC +8。我认为通过使用 moment.utc 函数,它已经标准化了日期时间,因此 Heroku 上显示的时间也应该是 UTC +8。

在网上检查了一些解决方案后,我还将heroku中的TZ配置变量设置为亚洲/新加坡,以确保Heroku处于UTC +8时区。

我怀疑这是否是由于 Heroku 服务器位于美国,因此导致了这种差异。

有人能给我指出正确的解决方案吗?

提前谢谢您!

最佳答案

Heroku 默认使用 UTC。要更改此设置,请使用 TZ 数据库时区格式 ( http://en.wikipedia.org/wiki/List_of_tz_database_time_zones ) 设置您的首选时区

例如,太平洋时间:

$ heroku config:add TZ="America/Los_Angeles"

关于javascript - 时间在 Heroku 上显示错误,但使用 moment 在 localhost 上显示正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45500113/

相关文章:

javascript - 使用 AngularJS 在输入中设置插入符位置

javascript - 将jquery数据存储在html元素中

node.js - 不同环境的package.json?

mysql - db URL 在 MySQL Workbench 中有效,但在 node.js 中无效(getaddrinfo ENOTFOUND)

javascript - 使用 momentjs 在特定语言环境中格式化日期

javascript - 完整日历 selectAllow 在 ReactJS 中不起作用

javascript - 如何将 javascript 文件插入 iframe 然后调用插入的 javascript 中的函数?

javascript - 为什么这个简单的 jQuery 脚本不起作用?

go - 在 heroku 上部署 golang 应用程序,构建成功但应用程序错误

node.js - Sequelize.js 中的 UTC 日期