Как найти разницу во времени между двумя датами с помощью PHP - PullRequest
4 голосов
/ 30 июля 2010

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

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

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

дата окончания: 2010-07-30 00: 00: 00

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

Ответы [ 4 ]

7 голосов
/ 30 июля 2010

Но мне нужно следующее: 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.

4 голосов
/ 30 июля 2010
$d1 = strtotime('2010-07-30 00:00:00');
$d2 = strtotime('2010-07-30 00:00:02');

$diff = $d2 - $d1;

echo $diff;

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

2 голосов
/ 30 июля 2010
<?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));
?>
0 голосов
/ 27 августа 2013

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

<?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));
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...