计算小时数和小时数更多关于使用日期Y-m-d H:i:s

时间:2016-10-02 12:43:44

标签: php date datetime

我有2小时以下的小时和时间时间。 格式:Y-m-d H:i:s

$day1 = 2016-10-01 02:00:00
$day2 = 2016-10-02 03:00:00

使用

计算天数
$interval = $day1->diff($day2);
echo $interval->format('%a');

这给了我1天但实际上它必须是2天因为它超过25小时。

所以基于几小时我们怎么能没有几天?

1 个答案:

答案 0 :(得分:1)

根据您的提及,如果超过24小时,我们应将其四舍五入到第二天。

逻辑非常简单。

  1. $hoursDiff中的两个日期之间的小时差异存储起来。
  2. 计算编号。天数,即底价$days
  3. 检查是否有任何其他差异,例如1天+剩余1小时$remaining
  4. 如果存在剩余价值,则在$day添加1天。否则保持原样。

    $day1 = '2016-10-01 02:00:00'; // Declare as string
    $day2 = '2016-10-02 03:00:00'; // Declare as string
    $hoursDiff = round((strtotime($day2) - strtotime($day1))/3600, 1); 
    $days = floor($hoursDiff / 24); 
    $remaining = ($hoursDiff % 24);
    $dayDiff = $remaining ? ($days + 1) : $days;