
やりたいこと
当日のJST時間0時 UTC時間前日15時でデータベースの時刻を更新したい
問題点
開発環境のタイムゾーンはJSTなのですが staging, production のタイムゾーンの設定が違うのか
以下のコードで保存すると開発環境では正常に動作するのに staging, production では前日の 6:00 になってしまいます
now = Time.zone.now today = Time.zone.local(now.year, now.month, now.day).to_s(:db) : user.updated_at = today : user.save
最初にこのようにかいていて
jst_zone = ActiveSupport::TimeZone.new("Tokyo") now = jst_zone.now today = jst_zone.local(now.year, now.month, now.day).to_s(:db) : user.updated_at = today : user.save
このように修正したのですがそれでも開発環境では前日15:00ステージングでは前日の 6:00 になってしまいます
サーバーに依存する部分はどこにもないように見えるのですが
サーバーのタイムゾーン設定に依存せずに仕様どおりの挙動をするにはどうすればいいでしょうか
追記:
18時間ずれているのでJST → UTCが2回行われてる気がします
UTCに変換されるのは .to_s のみにみえるのですがもう1回はどこで変換されているのでしょうか

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。