我希望我的报告在我的数据库使用 UTC 时以 CST 显示。为此,我需要能够按时间列分组并让数据库进行时区转换。
这适用于我的开发 postgresql 框:
offset = -5
result = ActiveRecord::Base.connection.execute("select date(srl.created_at AT TIME
ZONE '#{offset.to_s}') AS date, count(*) from server_request_logs srl where
srl.created_at between '#{@from.to_s(:db)}' and '#{@to.to_s(:db)}' group by
date(srl.created_at AT TIME ZONE '#{offset.to_s}')")
在 heroku 上,它出现以下错误:
ActiveRecord::StatementInvalid: PGError: ERROR: time zone "-5" not recognized
它也不适用于诸如“America/Winnipeg”之类的 TZInfo 名称或来自http://www.postgresql.org/docs/7.2/static/timezones.html的“CST”等受支持的时区
有没有人能让这个工作?