【问题标题】:Cannot set Heroku timezone无法设置 Heroku 时区
【发布时间】:2013-04-16 16:00:11
【问题描述】:

我需要让我的应用显示时间在本地时区。 在本地,我在 application.rb 中使用 Time.zone = "Athens" ,它工作正常。

对于 Heroku,我使用了“heroku config:add TZ=Europe/Athens”。这适用于我从命令行执行的每个操作,但不适用于我的应用程序。

例如

heroku 运行日期: 运行date 附加到终端...向上,运行.4786 2013 年 4 月 23 日星期二 15:13:51 EEST

heroku 运行控制台

Order.last.created_at => 2013 年 4 月 23 日星期二 13:15:53 EEST +03:00

时区 => (GMT+02:00) 雅典

但我把它放在我的 rails 视图中: 我明白了: (GMT+00:00) 世界标准时间 而我的时间在实际应用中以 UTC 时间显示。

那么,如何设置时区以应用于 heroku 上的实际 rails 应用程序(而不仅仅是控制台)。

【问题讨论】:

    标签: ruby-on-rails heroku timezone


    【解决方案1】:

    您是否尝试按照here 的描述在application.rb 中设置时区?

     config.time_zone = 'Eastern Time (US & Canada)'
     config.active_record.default_timezone = 'Eastern Time (US & Canada)'
    

    【讨论】:

      【解决方案2】:

      尝试在你的application.rb中设置时区如下:

      config.time_zone = 'Athens'
      config.active_record.default_timezone = :local
      

      config.active_record.default_timezone 确定在从数据库中提取日期和时间时是使用 Time.local(如果设置为 :local)还是 Time.utc(如果设置为 :utc)。 Rails 的默认值为 :utc,尽管 Active Record 在 Rails 之外使用时默认为 :local。

      来自:http://guides.rubyonrails.org/configuring.html#configuring-active-record

      【讨论】:

      • config.time_zone = 'Athens' 是我所需要的。我正在使用 Time.zone = 'Athens'
      【解决方案3】:

      要在 heroku 中设置时区,您可以从终端设置它

      $ heroku config:add TZ="Asia/Jerusalem"
      

      来源 https://coderwall.com/p/j9_e8a/set-timezone-for-your-heroku-app

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-08-25
        • 1970-01-01
        • 1970-01-01
        • 2011-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多