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