Углеродная разница now() и datetime с ago с использованием метода diffForHumans()


person arvil    schedule 01.09.2015    source источник


Ответы (2)


Вы должны использовать diffForHumans() без аргументов и после «расчета даты», например:

Carbon::now()->subDays(24)->diffForHumans();  // "3 weeks ago"

или, если у вас есть дата, вы можете просто использовать use $datetime->diffForHumans(); :

$datetime = Carbon::createFromDate(2015, 8, 25); // or your $datetime of course
return $datetime->diffForHumans();  // "1 week ago"
person baao    schedule 01.09.2015

Хотя @baao дал отличный ответ, но функция Carbon::createFromDate() может быть проблематичной, если вы передаете необработанный ввод даты, скажем, Laravels created_at. Теперь вам нужно использовать другую функцию. Посмотрите ниже.

$carbondate = Carbon::parse($users->created_at); 
$past = $carbondate->diffForHumans();
dd($past);

Где $users->created_at - это дата, такая как 2018-05-03 14:54:14 , это даст ответ, например, 2 недели назад.

person Miracool    schedule 18.05.2018
comment
Laravel предоставляет created_at в качестве экземпляра Carbon, так что вы можете просто вызвать $model->updated_at->diffForHumans();. - person jeff-h; 17.10.2019