PHP 时差不为零才显示

PHP Time difference only display when not zero

我正在计算两个日期(当前日期和数据库中的日期)之间的差异。我想显示日期之间的天数和小时数差异,但是当天数差异为 0 时我不想显示它。这是我的代码:

<?php    
$to_time = new \DateTime($database_time);
$from_time = new \DateTime();
echo $from_time->diff($to_time)->format("%d %H");
?>

输出应该是,例如:

 > 50 days and 4 hours 
 > 1 day and 7 hours //and not 1 dayS 
 > 6 hours //and not 0 days and 6 hours

我自己的代码有两个问题:第一个是它总是显示天数。第二个是它只是一种格式。例如,当差异为 2 个月、6 天和 2 小时时,它显示:6 天和 2 小时。但是应该是68天2小时(因为两个月)。

不能让它与我找到的其他代码一起使用。提前致谢!

试试这个..

   $seconds = strtotime("2012-10-10 02:40:03") - strtotime("2010-12-25 05:15:02");

echo $days    = floor($seconds / 86400);
echo "</br>";
echo $hours   = floor(($seconds - ($days * 86400)) / 3600);
echo "</br>";
echo $minutes = floor(($seconds - ($days * 86400) - ($hours * 3600))/60);
echo "</br>";
echo $seconds = floor(($seconds - ($days * 86400) - ($hours * 3600) - ($minutes*60)));