2015-10-09 5 views
2

У меня есть значение datetime. Я хочу разницу между этим datetime и datetime сейчас. Я попытался преобразовать его в timestamp и вычислить разницу, но получил отрицательное значение. Как получить разницу в секундах?PHP - Получите разницу между двумя датами в секундах

<?php 
$datetimenow = strtotime(date("Y/m/d H:i:s")); 
$mydatetime = strtotime(date('2015/10/09 14:20:00')); 
echo ($datetimenow - $mydatetime); 
?> 
+1

Убедитесь, что более поздняя дата является первой датой. Или используйте 'abs()', чтобы игнорировать отрицательное значение. –

ответ

7

Используйте DateTime class вместо этого, т.е .:

<?php 

date_default_timezone_set('Europe/Lisbon'); //set your desired timezone 
$date = new DateTime('NOW'); 
$date2 = new DateTime('2015/10/09 15:20:00'); 
$diffSeconds = $date->getTimestamp() - $date2->getTimestamp(); 
echo $diffSeconds; 
//2020 
?> 
+1

Наконец, разумный ответ –

+0

@JohnConde, исходящий от вас, много значит для меня :) tks. –

+0

... или 'Datetime :: diff() -> format()': http://php.net/manual/en/datetime.diff.php ... но вы все равно получаете возможность использовать 'DateTime' ;) – CD001