【heroku】現地時刻を取得したい
解決したいこと
Railsで動くアプリで現在地の時刻を表示したい。
この度作っているアプリは特定の国だけでなく全世界に展開するサービスで、DBへ保存する時間データはUTCで統一し、そのデータを現地のタイムゾーンに合わせ表示したいと考えております。
発生している問題・エラー
開発環境と本番環境では挙動が変わるようで、その解決方法が見つけられずにいます。
例えばTime.now.zoneを実行すると、ローカル環境ではタイムゾーンは現在地であるJSTが出力されますが、本番環境(heroku)ではUTCとなります。
irb(main):014:0> Time.now.zone
=> "JST"
irb(main):001:0> Time.now.zone
=> "UTC"
自分で試したこと
ローカル環境では各UTCで保存されたデータを例えば「@user.created_at.localtime」とすれば現地時間に自動変換されますが、本番環境(heroku)では同様の動きにはならないようです。
各都市に合わせて「.in_time_zone('Moscow') 」などとすれば当然対処出来ますが、スマートな方法とは言い難いところです。。
もし対処方法をご存知でしたら、お力を貸して頂けますと幸いです。