Как использовать точное время с часовым поясом с MySQL и Sqlite3? - PullRequest
0 голосов
/ 04 апреля 2011

Как это можно сделать в 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 будут использовать датуэто, вероятно, местный часовой пояс, поэтому иногда есть расхождения.

1 Ответ

2 голосов
/ 13 октября 2011

Это не говорит само за себя, но я обнаружил, что временные метки показывают правильные значения только в том случае, если вы установили эти параметры в вашем application.rb в папке config.

config.time_zone = 'Your closest timezone related city'
config.active_record.default_timezone = :local
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...