2013-12-18 101 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();