現在時間はサンフランシスコでは午後12時33分です。ドキュメントとprevious SO threadsから判断アクティブなレコードクエリ中にTime.use_zoneは無視されます
irb(main):027:0> Time.use_zone("Pacific Time (US & Canada)") { puts Time.zone.now } 2017-10-19 12:33:06 -0700
Time.use_zone("Pacific Time (US & Canada)") { Event.where("starts_at >= ?", Time.zone.now) } Event Load (1.4ms) SELECT "events".* FROM "events" WHERE (starts_at >= '2017-10-19 19:33:22.532660')
、これがあること、正しい使用方法に表示されます。私は何が欠けていますか?
UPDATE:
がARクエリにto_s
の追加は、正しいタイムゾーンを使用します。
DBにローカルタイムを保存する場合は、app configに 'config.active_record.default_timezone =:local'を追加できます。 –