2016-09-15 198 views
0

我试图计算$ timenow和$ time之间的差异。2时间戳之间的差异 - PHP

$time = 2016-09-15 20:10:35 
$timenow = 2016-09-15 20:40:42 

我将它们转换为dateTime。

$time = new DateTime($time); 
$timenow = new DateTime($timenow); 

,然后做了计算:

$interval = $timenow->diff($time); 
echo $interval; 

错误:开捕致命错误:类DateInterval的对象无法转换为字符串

我看着这些 difference between 2 timestamps in phpWrong hour difference between 2 timestamps (hh:mm:ss)

那些没有帮助。

+3

'$ interval'是一个对象,你需要对其进行格式化。 http://php.net/manual/en/datetime.format.php - 例如,'$ interval-> format('Ymd H:i:s');' – Qirel

+0

您可能想要使用'format'该对象http://php.net/manual/en/dateinterval.format.php –

+3

可能重复的[php类的DateInterval对象不能转换为字符串](http://stackoverflow.com/questions/28621270/php -class-dateinterval-could-be-converted-to-string) – HPierce

回答

1

diff将返回一个DateInterval对象,其中充满了有关两个日期之间差异的良好信息。你只是试图回应那个不起作用的对象。做一个var_dump()看到该对象的属性:

$time = "2016-09-15 20:10:35"; 
$timenow = "2016-09-15 20:40:42"; 

$time = new DateTime($time); 
$timenow = new DateTime($timenow); 

$interval = $timenow->diff($time); 
var_dump($interval); 

然后你可以重复出样的属性:

echo $interval->i; // minutes 
// 30 

http://php.net/manual/en/class.dateinterval.php