はじめに
TwitterなどのSNSのように投稿日時が下記のように相対表示するように、日時を変換する処理を記述していたのですが、Carbonライブラリでは既にdiffForFumans()メソッド
が用意されていたので、ご紹介します。
0秒 ≦ X < 60秒 の場合 => 「X秒前」
60秒 ≦ X < 3600秒 の場合 => 「X分前」
3600秒 ≦ X < 86400秒 => 「X時間前」
86400秒 ≦ X < 604800秒 => 「X日前」
604800秒 ≦ X < 2764800秒 => 「X週間前」
2764800秒 ≦ X < 31536000秒 => 「Xケ月前」
31536000秒 ≦ X => 「X年前」
実装
$content->created_at->diffForHumans();
最後に
以上です。
プライベート関数でcreated_atを引数にとって、条件分岐で経過時間を相対表示できるように処理を記述していたのですが、diffForFumans()
で代用できるなんて便利ですね!!
他にも色々とカスタマイズできるので、詳しくは公式ドキュメントを確認してみてください。