Рассчитать количество часов, минут и секунд между двумя датами в laravel

Предположим, мы должны отформатировать дату DateTime следующим образом:

$started_at = '2016-07-05 12:29:16';
$ended_at = '2016-07-06 13:30:10';

Теперь я хочу рассчитать количество часов, минут и секунд из них так:

15 hours and 50 minutes and 15 seconds

Как я могу сделать это самым простым способом в Laravel и используя Carbon.

2 ответа

Решение

Попробуй это

$t1 = Carbon::parse('2016-07-05 12:29:16');
$t2 = Carbon::parse('2016-07-04 13:30:10');
$diff = $t1->diff($t2);

Это даст вам

DateInterval {#727
     +"y": 0,
     +"m": 0,
     +"d": 0,
     +"h": 22,
     +"i": 59,
     +"s": 6,
     +"weekday": 0,
     +"weekday_behavior": 0,
     +"first_last_day_of": 0,
     +"invert": 1,
     +"days": 0,
     +"special_type": 0,
     +"special_amount": 0,
     +"have_weekday_relative": 0,
     +"have_special_relative": 0,
   }

Как рассчитать дату, отличающуюся между двумя датами в Laravel

      $date1 = new DateTime("2018-01-10 00:00:00");
$date2 = new DateTime("2019-05-18 01:23:45");
$difference = $date1->diff($date2);
$diffInSeconds = $difference->s; //45
$diffInMinutes = $difference->i; //23
$diffInHours   = $difference->h; //8
$diffInDays    = $difference->d; //21
$diffInMonths  = $difference->m; //4
$diffInYears   = $difference->y; //1
Другие вопросы по тегам