2011-04-04 49 views
0

這怎麼能在MySQL和Sqlite3中完成?如何使用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將使用可能是本地時區的日期,因此有時會有差異。

回答

2

這不是自我解釋,但我發現時間戳只顯示正確的值,如果你在你的application.rb在config文件夾中設置這些參數。

config.time_zone = 'Your closest timezone related city' 
config.active_record.default_timezone = :local