Time.parse よく分からずに使ってると入力した時間と9時間差があるデータがDBに保存された。
Time.parse('2022-09-25 00:00:00')
Time.parse
は、Ruby標準のTimeクラスのメソッドで、システムのタイムゾーン、または環境変数の TZ
に指定されたタイムゾーンで日時を生成する。
開発環境では何も設定をいじってなかったので、デフォルトのUTCになってた。
Time.zone.parse を使う様にすると、application.rb
等の config.time_zone
に設定されたタイムゾーンで日時が生成されるので無事解決。
Time.zone.parse('2022-09-25 00:00:00')
# => 2022-05-15 00:00:00 +0900
参考:https://zenn.dev/k_kind/articles/1538aac0efcf17