Blade上の記述で、DBから取得した"Y-m-d H:i:s"フォーマットの日時が何日前かを表示する
コード
<p>
@php
$var = \Carbon\Carbon::parse(年月日)->diffInDays(\Carbon\Carbon::now())
@endphp
@switch( $var )
@case(0)
今日
@break
@case(1)
昨日
@break
@default
{{ $var }}日前
@endswitch
</p>
説明
PHPのDateTimeを拡張したパッケージの日付ライブラリ「Carbon」を使います。
$var = \Carbon\Carbon::parse(年月日)->diffInDays(\Carbon\Carbon::now())
Carbonライブラリのparse()を使って、年月日の文字列からインスタンスを作成します。
そこからdiffInDays()を使って現在の日付との差を出します。
@switch( $var )
@case(0)
今日
@break
@case(1)
昨日
@break
@default
{{ $var }}日前
@endswitch
あとは、1日前なら「今日」、2日前なら「昨日」、それ以降なら「〇日前」と表記するようにします。
最後に
こうした方が良いや、間違っている箇所があれば教えてください。