我的服务器有系统时区“欧洲/巴黎”
我配置了我的 Rails 应用程序(Rails 3.29) config.time_zone = 'Europe/London' config.active_record.default_timezone = :utc
所有事件的开始/结束日期都存储在数据库中:“2013-01-02 10:00:00”
问题在于范围
scope :starting, lambda {|start_date_time|
{:conditions => ["starts_at = ?", Event.db_datetime(start_date_time)] }
}
...
def self.db_datetime(date_time)
Time.at(date_time.to_i).utc.to_s(:db)
end
当我创建 start_date_time 过滤器时,我得到一个系统本地时区日期时间 start_date_time = Time.new(2013, 1, 2, 10, 0, 0) 2013-01-02 10:00:00 +0100
and Event.db_datetime(start_date_time) gives "2013-01-02 09:00:00"
which cannot be found
有没有办法强制 utc datetime 所以: start_date_time = Time.new(2013, 1, 2, 10, 0, 0) 会给 2013-01-02 10:00:00 UTC
感谢您的反馈