【发布时间】:2012-08-28 12:42:12
【问题描述】:
我正在尝试在我的模型中检索当天的所有条目:
where('date(created_at) = date(?)', Date.today)
但是,由于时区(我的本地时间是 UTC+2),我没有预期的结果。例如,如果在午夜后一分钟创建了一个条目,则在数据库中,它将存储在 22:01(因此不是“Date.today”)。
有没有办法做到这一点?
编辑:
作为网站管理员,我想在当地时间“今天”显示条目数(仅用于统计目的!)。所以我想将时间戳存储在 utc 中,但在此请求期间将它们转换为我的本地时区!
【问题讨论】:
-
使用 before_filter 设置正确的时区?
-
是的:
before_filter do Time.zone = ActiveSupport::TimeZone.new('Paris') end -
尝试
TimeZone.new('Paris')然后Time.zone.now获取更改。
标签: mysql ruby-on-rails date timezone