Рассчитать количество часов, минут и секунд между двумя датами в 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