web-dev-qa-db-fra.com

Laravel (Carbone) différence de date d'affichage uniquement en jours

Comment afficher la différence seulement par jours. Ici $price->created_at = 2014-04-28

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

Merci!

19
user2573863

Supposons que vous souhaitiez une différence maintenant () et que le résultat de diffForHumans vous convienne sauf pour aujourd'hui:

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

edit: inutile d'appeler Carbon :: now () deux fois, utilisez donc $ now à la place.

41
Jarek Tkaczyk

la fonction DiffInDays serait utile.

$cDate = Carbon::parse($date);
return $cDate->diffInDays();
14
ymutlu

Lorsque vous comparez une valeur passée avec la valeur par défaut maintenant: Il y a 1 heure, Il y a 5 mois

Lorsque vous comparez une valeur future à la valeur par défaut maintenant: Dans 1 heure, Dans 5 mois

Lorsque vous comparez une valeur passée à une autre valeur: 1 heure avant, 5 mois avant

Lorsque vous comparez une valeur future à une autre valeur: 1 heure après, 5 mois après

$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