web-dev-qa-db-ja.com

Laravel(Carbon)日付の差のみを日単位で表示する

日ごとに差異を表示する方法。ここに $price->created_at = 2014-04-28

\Carbon\Carbon::createFromTimeStamp(strtotime($price->created_at))->diffForHumans()

ありがとう!

21
user2573863

Now()との差分が必要で、diffForHumansの結果が今日以外に適していると仮定します。

$created = new Carbon($price->created_at);
$now = Carbon::now();
$difference = ($created->diff($now)->days < 1)
    ? 'today'
    : $created->diffForHumans($now);

編集:Carbon :: now()を2回呼び出す必要はありませんので、代わりに$ nowを使用してください。

43
Jarek Tkaczyk

diffInDays関数が役立ちます。

$cDate = Carbon::parse($date);
return $cDate->diffInDays();
16
ymutlu
$DeferenceInDays = Carbon::parse(Carbon::now())->diffInDays($dataToCompare);

これが最高です

0
Hanif Formoly

過去の値をデフォルトと比較する場合:1時間前、5か月前

将来の値を現在のデフォルトと比較する場合:今から1時間後、5か月後

過去の値を別の値と比較する場合:1時間前、5か月前

将来の値を別の値と比較する場合:1時間後、5か月後

$dt     = Carbon::now();
$past   = $dt->subMonth();
$future = $dt->addMonth();

echo $dt->subDays(10)->diffForHumans();     // 10 days ago
echo $dt->diffForHumans($past);             // 1 month ago
echo $dt->diffForHumans($future);           // 1 month before
0
Subhash Diwakar