在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将使用可能是当地时区的日期,因此有时会有差异。
发布于 2011-10-13 19:47:23
这不是不言而喻的,但我发现只有当你在application.rb文件夹的配置中设置这些参数时,时间戳才会显示正确的值。
config.time_zone = 'Your closest timezone related city'
config.active_record.default_timezone = :local
https://stackoverflow.com/questions/5534676
复制相似问题