为什么 delayed_job 在 delayed_job 的 table 中记录了错误的时间戳?
Why is delayed_job recording an incorrect time stamp in the delayed_jobs table?
我觉得我遇到了与此类似的问题 post Why is the timezone off in delayed_job?
我在 config/application.rb
中设置了我的 time_zone 如下:
module Bane
class Application < Rails::Application
config.time_zone 'Eastern Time (US & Canada)'
end
end
在查看我的 delayed_jobs.log 时,我记录了正确显示的时间戳。但是,当我查看 delayed_jobs
table 时,它显示 2015-11-19 14:25:11.637
这不是我所期望的 (2015-11-19 09:25:11.xxx
)。
当您设置 config.time_zone
设置时,Rails 仍然使用 UTC 存储日期,但在加载记录后将它们转换为所需的时区。
还有一个设置 — config.active_record.default_timezone
,它会影响日期在数据库中的存储方式,但据我所知,它只能设置为 :local
,或者(默认):utc
。但是,如果您可以将服务器时区设置为 EST
,那么我相信它应该可以工作。
编辑:看来您实际上也可以为 default_timezone
设置任何时区。例如:config.active_record.default_timezone = 'Eastern Time (US & Canada)'
.
我觉得我遇到了与此类似的问题 post Why is the timezone off in delayed_job?
我在 config/application.rb
中设置了我的 time_zone 如下:
module Bane
class Application < Rails::Application
config.time_zone 'Eastern Time (US & Canada)'
end
end
在查看我的 delayed_jobs.log 时,我记录了正确显示的时间戳。但是,当我查看 delayed_jobs
table 时,它显示 2015-11-19 14:25:11.637
这不是我所期望的 (2015-11-19 09:25:11.xxx
)。
当您设置 config.time_zone
设置时,Rails 仍然使用 UTC 存储日期,但在加载记录后将它们转换为所需的时区。
还有一个设置 — config.active_record.default_timezone
,它会影响日期在数据库中的存储方式,但据我所知,它只能设置为 :local
,或者(默认):utc
。但是,如果您可以将服务器时区设置为 EST
,那么我相信它应该可以工作。
编辑:看来您实际上也可以为 default_timezone
设置任何时区。例如:config.active_record.default_timezone = 'Eastern Time (US & Canada)'
.