2013-12-18 6 views
0
date_default_timezone_set('America/New_York'); 

$search_date = '2012-12-19 13:22:00'; 
$right_now = date('Y-m-d H:i:s'); 
$search_date = new DateTime($search_date); 
$right_now = new DateTime($right_now); 
$interval = $search_date->diff($right_now); 
echo $interval->format('%R%s seconds'); 

Это показывает, сколько секунд отличается от даты поиска и прямо сейчас.найти разницу в секундах

Я бы ожидал, что это вернет более двухзначное значение, потому что разница между двумя датами составляет более 99 секунд, поэтому я не уверен, что я делаю неправильно.

+1

Для формата DateInteval в '% s' не общее количество секунд, а всего лишь секунды части разницы даты (поэтому он будет только когда-либо находиться в диапазоне 0-59). Я бы разместил это как часть ответа, но Серджио уже опубликовал правильный способ получить общее количество секунд. – Powerlord

ответ

1

С другой стороны, с очень небольшим изменением к исходному коду: -

date_default_timezone_set('America/New_York'); 

$search_date = new DateTime('2012-12-19 13:22:00'); 
$right_now = new DateTime(); 
$seconds = $right_now->getTimestamp() - $search_date->getTimestamp(); 
Смежные вопросы