鶏口牛後な日々

心の赴くまま、やりたいことを仕事に。

Laravelで日付の項目のフォーマットを直したい

日付項目

生年月日などの日付項目はユーザー登録などで定番ですね。

databaseと、表示する形式が違うことも結構あるので、コントローラーのメソッドの中で、viewに返すためにフォーマットを変えたいと思いました。

PHPのメソッド format() を使う

具体的には、 2011-10-10 00:00:00 という形式でdatabaseに保存されている項目を取得後に、 20111010 という数字の羅列の形式に変えたいと思いました。

さて、どうやるのか?

Laravelでは、dateやtimeの項目は、Carbonという便利なクラスがあるらしく、こちらで、「次の日」「来年」といった日付での計算なども容易にできるようになっているようでした。

ただし、フォーマットを変えるには、そんな高度なものすら必要内容でした。

PHPformat() というメソッドを用いれば十分でした。

形式はPHPのdateメソッドのところにあり

私は、 yyyymmdd という形式に変換したかったのですが、この場合、PHPのdate()メソッドの説明のところを見れば、書いてありました。

Ymd で良いようです。

dateメソッドは、データ型の変数などを作る時に使うメソッドのようです。

formatメソッドは、date()などで作られたdate型のオブジェクトについて、フォーマットを変更できるメソッドのようです。

使い方は、例えば、birth というデータ型の変数があったとします。

$birth->format('Ymd');

でOK.

これで、無事にviewに 20111010 と表示できることを確認しました。

地味だけど、結構調べるのに時間かかりました。

date型は色々と使ってみて覚えていく必要がありそうです。