【问题标题】:Time displayed wrongly on Heroku but correctly on localhost using momentHeroku 上的时间显示错误,但使用 moment 在 localhost 上正确显示
【发布时间】:2018-01-11 23:56:24
【问题描述】:

我被这个问题困扰了将近 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 配置变量设置为 Asia/Singapore,以确保 Heroku 位于 UTC +8 时区。

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

有人可以指出正确的解决方案吗?

提前感谢您!

【问题讨论】:

    标签: javascript heroku momentjs


    【解决方案1】:

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

    例如,太平洋时间:

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

    【讨论】:

    • 是的,我做到了!但它仍然在heroku上显示错误的日期时间! :(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多