Edited at

よく使う日付フォーマット Ruby on Rails

More than 3 years have passed since last update.


日付フォーマット

参考:http://railsdoc.com/references/strftime


  1. strftimeで成形する

Date.current.strftime('%Y/%m/%d')

みたいな感じで使う。

ただこれは、瞬間的に使うのはいいけど同じフォーマットパターンを何箇所も使うときに、strftimeで書くのは長ったらしくなるしナンセンスかなぁ。


  1. localesのymlで成形する


config/locales/ja.yml

ja:

date:
formats:
default: ! '%Y/%m/%d'
long: ! '%Y年%m月%d日(%a)'
short: ! '%m/%d'

てな感じで、locals/ja.ymlとかにフォーマットパターンを書こうということです。

%p= l(hoge.created_at, format: :long)

こんな感じがviewですかね。

l(エル)で括る必要なことだけ注意(よく忘れるのは、俺だなぁ)


おすすめフォーマット

10の位のところに0を埋めるパターン。

long: ! '%Y/%m/%d'

=> 2016/08/04

short: ! '%m/%d'

=> 08/04

10の位のところが0なら割愛してくれるパターン。

long: ! '%Y年%-m月%-d日(%a)'

=> 2016年8月4日(水)

middle: ! '%-m月%-d日(%a)'

=> 8月4日(水)

short2: ! '%-m/%-d'

=> 8/4

日本語&viewで使う場合のほとんどは、「10の位のところが0なら割愛してくれるパターン」の方だと思うのでメモっといた。