バックグラウンド
created_at
デフォルトの列を持つ記事モデル
レールconfig.time_zone = 'Warsaw'
created_at = local time 2012-08-19 00:15 (UTC で 2012-08-18 22:15) の記事があります。
ゴール
2012 年 8 月 19 日 (現地時間) に作成されたすべての記事を受信するには。
私の(正しく動作していない)解決策
Article.where(
"date_trunc('day', created_at AT TIME ZONE '#{Time.zone.formatted_offset}')
= '#{Date.civil(2012, 8, 19)}'"
)
SQL を生成するもの:
SELECT "articles".* FROM "articles"
WHERE (date_trunc('day', created_at AT TIME ZONE '+01:00') = '2012-08-19')
そして空のセットを返します。しかし、psql で同じクエリを実行すると、アーティクルが返されてしまい、混乱してしまいます。
質問
何が間違っていて、どうすれば修正できますか?