使用date_diff将天数更改为小时

时间:2013-10-07 16:14:37

标签: php datetime

$time = Whatever i want
$future_date = new DateTime(date('r',strtotime($time)));
$time_now = time();
$now = new DateTime(date('r', $time_now));
interval = date_diff($future_date, $now);
echo $interval->format('%H:%I');

当我运行这个...我得到一个输出天,你只是看不到它们。我怎样才能将时间延长到几小时(例如,有35个小时)?

这是我编写的更长脚本的一部分,我知道有不同的方法可以做到这一点....

修改

使用下面的答案,我想出了这个:

$time = '2013-10-8 11:10:00';
$future_date = new DateTime($time);
$now = new DateTime();
$interval = date_diff($future_date, $now);
$text = $interval->days * 24 + $interval->h . ':' . $interval->i; 

我正在尝试以这种格式输出小时和分钟(00:00),带有前导零。现在超出​​我的深度...

1 个答案:

答案 0 :(得分:2)

示例如何以小时为单位区分日期/时间戳:

$future = new DateTime('@1383609600');
$now = new DateTime;
$diff = $now->diff($future);
echo $diff->days * 24 + $diff->h;

更新:如果您希望使用前导零格式化输出数字,可以使用sprintf()str_pad()功能。 sprintf()使用示例:

echo sprintf('%02d:%02d', $diff->days * 24 + $diff->h, $diff->i);