Как найти разницу во времени между двумя датами с помощью 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)); ?>