//get Date diff as intervals
$d1 = new DateTime("2018-01-10 00:00:00");
$d2 = new DateTime("2019-05-18 01:23:45");
$interval = $d1->diff($d2);
$diffInSeconds = $interval->s; //45
$diffInMinutes = $interval->i; //23
$diffInHours = $interval->h; //8
$diffInDays = $interval->d; //21
$diffInMonths = $interval->m; //4
$diffInYears = $interval->y; //1
//or get Date difference as total difference
$d1 = strtotime("2018-01-10 00:00:00");
$d2 = strtotime("2019-05-18 01:23:45");
$totalSecondsDiff = abs($d1-$d2); //42600225
$totalMinutesDiff = $totalSecondsDiff/60; //710003.75
$totalHoursDiff = $totalSecondsDiff/60/60;//11833.39
$totalDaysDiff = $totalSecondsDiff/60/60/24; //493.05
$totalMonthsDiff = $totalSecondsDiff/60/60/24/30; //16.43
$totalYearsDiff = $totalSecondsDiff/60/60/24/365; //1.35
$hourdiff = round((strtotime($time1) - strtotime($time2))/3600, 1);
$time1 = new DateTime('09:00:59');
$time2 = new DateTime('09:01:00');
$interval = $time1->diff($time2);
echo $interval->format('%s second(s)');
Result: 1 second(s)
date_default_timezone_set("Africa/Johannesburg");
$now = new DateTime();
$future_date = new DateTime('2020-10-21 00:00:00');
$interval = $future_date->diff($now);
echo ($interval->format("%a") * 24) + $interval->format("%h"). " hours". $interval->format(" %i minutes ");
print_r($now->format('Y-m-d H:i:s'));
date_default_timezone_set("Africa/Johannesburg");
$now = new DateTime();
$future_date = new DateTime('2020-10-21 00:00:00');
$interval = $future_date->diff($now);
echo ($interval->format("%a") * 24) + $interval->format("%h"). " hours". $interval->format(" %i minutes ");
print_r($now->format('Y-m-d H:i:s'));