RailsでTime.currentの時間を正しくタイムゾーンを設定して取得

前提

Railsのバージョン

$ rails -v
Rails 5.2.3

問題

Railsで、ファイルへのデータ出力の中に、
「データ出力時の日付」を含んでいた。

Time.current.strftime('%Y-%m-%d')

その際、日付がなぜか、1日、ずれる事象が発生。

解決方法

解決方法としては、タイムゾーンが、UTC(世界標準時間)になっていたので、これを日本時間に設定を直す。

その際、Railsのconfig設定でタイムゾーンを設定できるので、
その対応で問題なく取得できるようになった。

module XXXXXXXX
  class Application < Rails::Application
     :
    # 以下の行を追加
    config.time_zone = 'Tokyo'
  end
end

Railsのタイムゾーンに関して

Railsのタイムゾーンは、
以下のプロパティで確認できる

Time.zone
(GMT+00:00) UTC
(GMT+09:00) Tokyo

プロフィール

学ぶパンダ

初心者向けにプログラミング学習や

就職・転職に向けた情報を発信

独学向け(勉強方法)
独学向け(プログラミング)
独学向け(Webデザイン)
独学向け(javaScript)
独学向け(PHP/Laravel)
独学向け(Ruby/Rails)