ruby-on-rails - 无法设置 Heroku 时区

标签 ruby-on-rails heroku timezone

我需要在本地时区显示我的应用程序时间。
在本地我在 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 View 中:
<%= 时区 %>
我明白了:
(GMT+00:00) UTC
我的时间出现在实际应用程序中的 UTC 时间。

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

最佳答案

尝试在 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

关于ruby-on-rails - 无法设置 Heroku 时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16169334/

相关文章:

ruby-on-rails - Ruby 2.0.0 字符串#Match ArgumentError : invalid byte sequence in UTF-8

ruby-on-rails - 在 rails 5 应用程序中添加 postgres 扩展时无法运行迁移

ruby-on-rails - 防止市场应用程序欺诈的最佳方法?

jquery - Rails select2 ajax 标签

heroku - 在Heroku中使用Bonsai.io指向同义词文件路径

ruby-on-rails - 301 重定向只使用路由,没有 Controller

node.js - Heroku 日志 "npm err"

java - 将 EDT 时区转换为 GMT 在 Java 中无法正常工作

java 日历时区 奇怪的东西

c# - 获取距现在 N 小时后本地时间的时间,考虑夏令时的变化