LoginSignup
195
194

More than 5 years have passed since last update.

日付/時間フォーマットのデフォルトを設定

Last updated at Posted at 2014-03-03

Railsで日時を表示する際のデフォルトフォーマットが気に入らなかったので、
デフォルトフォーマットを設定。

まず、Railsのデフォルトはこんな感じ。

> Time.now.to_s
 => 2014-03-03 15:21:57 +0900 

IT関連ではない日本人にとって、 YYYY-MM-DD は慣れていないだろうし、
+0900 は言わずもがななので、 YYYY/MM/DD HH:mm に統一したい。

デフォルトフォーマットの設定は config/initializers/time_formats.rb に。
ファイルがなければ新規作成。
中身はこんな感じに。

config/initializers/time_formats.rb
Time::DATE_FORMATS[:default] = '%Y/%m/%d %H:%M'
Time::DATE_FORMATS[:datetime] = '%Y/%m/%d %H:%M'
Time::DATE_FORMATS[:date] = '%Y/%m/%d'
Time::DATE_FORMATS[:time] = '%H:%M:%S'
Date::DATE_FORMATS[:default] = '%Y/%m/%d'

設定したらWebサーバを再起動。
そうするとこんな感じに表示される。

> Time.now.to_s
 => "2014/03/03 15:22" 

> Time.now.to_s(:date)
 => "2014/03/03" 

> Time.now.to_s(:datetime)
 => "2014/03/03 15:23" 

> Time.now.to_s(:time)
 => "15:23:07" 

ここで使えるフォーマット文字列は strftime の通り。
class Time.strftime

195
194
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
195
194