Как найти разницу во времени между двумя датами с помощью PHP

Как найти разницу во времени между двумя датами с помощью PHP.

Например, у меня две даты:

начало Дата: 2010-07-30 00:00:00

конец Дата: 2010-07-30 00:00:00

В этом случае, как мне найти разницу во времени с помощью PHP .

Но мне нужно следующее: 24 часа 3 минуты 5 секунд

Если вы используете PHP 5.3 или лучше (каким вы должны быть), вы можете использовать встроенный класс DateTime для создания DateInterval, который можно легко отформатировать .

$time_one = new DateTime('2010-07-29 12:43:54'); $time_two = new DateTime('2010-07-30 01:23:45'); $difference = $time_one->diff($time_two); echo $difference->format('%h hours %i minutes %s seconds'); 

DateTime был введен в 5.1, но DateInterval является новым для 5.3.

 $d1 = strtotime('2010-07-30 00:00:00'); $d2 = strtotime('2010-07-30 00:00:02'); $diff = $d2 - $d1; echo $diff; 

У вас будет вторая в переменной $ diff

 <?php $date1 = $deal_val_n['start_date']; $date2 = $deal_val_n['end_date']; $diff = abs(strtotime($date2) - strtotime($date1)); $years = floor($diff / (365*60*60*24)); $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24)); $days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)); $hours = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24)/ (60*60)); $minuts = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60)/ 60); $seconds = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60 - $minuts*60)); ?> 

Попробуйте выполнить следующий код,

 <?php $date1 = $deal_val_n['start_date']; $date2 = $deal_val_n['end_date']; $diff = abs(strtotime($date2) - strtotime($date1)); $years = floor($diff / (365*60*60*24)); $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24)); $days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)); $hours = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24)/ (60*60)); $minuts = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60)/ 60); $seconds = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60 - $minuts*60)); ?>