如何在MySQL和Sqlite3中完成?
select * from foos where created_time > "2011-04-03 18:01:02 UTC"
关键是时区需要在那里。
那是因为使用Ruby on Rails(3.0.5),如果配置文件中有Time.zone = "..."
,那么
foo = Foo.all(:condition => "created_at > '#{bar.created_at.strftime('%Y-%m-%d')}'")
然后strftime将在该特殊时区给出2011-04-04
的日期,而MySQL或Sqlite将使用可能是本地时区的日期,因此有时会出现差异。
答案 0 :(得分:2)
这不是自我解释,但我发现如果你在config文件夹中的application.rb中设置这些参数,时间戳只显示正确的值。
config.time_zone = 'Your closest timezone related city'
config.active_record.default_timezone = :local