از DateTime هم میتونید استفاده کنید
$datetime1 = new DateTime('2016-11-30 03:55:06');//start time
$datetime2 = new DateTime('2016-11-30 11:55:06');//end time
$interval = $datetime1->diff($datetime2);
echo $interval->format('%Y years %m months %d days %H hours %i minutes %s seconds');//00 years 0 months 0 days 08 hours 0 minutes 0 seconds
https://www.php.net/manual/en/datetime.diff.php
https://stackoverflow.com/questions/40905174/calculate-the-difference-between-2-timestamps-in-php
شاید پاسخ شما همینجا باشد
سلام
این رو امتحان کنید
توی بازه بیش از سی روز به صورت ماه نمایش میده، کمتر از ماه و بیش از یک روز به صورت روزانه و همینطور به محدود ساعت و دقیقه و ثانیه که برسه نوع نمایش بر اساس مقیاس متناسب نمایش داده میشه.
نکته جالب اینه که پس از عبور از زمان مد نظر، میزان تایم سپری شده بر اساس همین الگو که توضیح دادم نمایش داده خواهد شد.
$time = Carbon::parse(gmdate( $time))->diffForHumans();
برای time$ همون مقدار دیفالتی رو که توی دیتابیس ایجاد شده پاس بدید.