日々精進

新しく学んだことを書き留めていきます

railsのtimezoneについての誤解

environment.rbに以下の行を追加すると時刻が日本時間になります。

config.time_zone = 'Tokyo'

が、コレを追加した後でDBの中を見てみると、時刻がUTCのままではないか。つまり、DBに書き込んだ時刻が実際の時刻より9時間前の時刻になっている。
おかしいなぁと思ったら、RailsはDBには常にUTCで書き込み、表示するときにenvironment.rbで設定したタイムゾーンの時刻に変換するらしいです。
知らなかった。。でもこれ、DBの中身を直接見て実行結果を確認したいとき困りますね。まあそんなことせずに単体テスト書けってことか。。