在php中计算两个24小时之间的时差

时间:2014-04-22 11:12:40

标签: php

我正在努力计算两种24小时格式之间的时差。从我的数据库中提取的数据如下:

$timein = "09:00";
$timeout = "17:00";
$timediff = $timein - $timeout

如上所述,我如何获得$timediff = 8

4 个答案:

答案 0 :(得分:1)

   $timediff = date( "H",  strtotime( $timein ) - strtotime( $timeout ) );

您还可以更改为结果的格式, 检查:http://php.net/manual/en/function.date.php

答案 1 :(得分:1)

如果您首先将它们设置为完整日期:

$timein = "09:00";
$timeout = "17:00";
$datein = strtotime(date("Y-m-d ".$timein);
$dateout = strtotime(date("Y-m-d ".$timeout);

因此,实际上您使用的日期(今天的日期)可以是任何其他日期,因为它全部是关于小时之间的时间。然后你可以创建php date函数:

$hourIn = date("G", $datein); // = 9
$hourOut = date("G", $dateout); // = 17

接下来是简单的数学:

$diff = $hourOut - $hourIn; // = 8

答案 2 :(得分:0)

将问题分解为两个步骤。

  1. 每次从午夜开始转换为秒数。
  2. 计算两次之间的差异。
  3. 这将更大的问题分解为可以更容易解决的基本问题。它是程序员腰带中非常有价值的工具。

    对于第二部分,请务必按照您需要的方式处理数据。也许如果超时在timein之前,那么你需要增加24小时的总时间吗?这只是猜测,因为我不知道你的数据。

答案 3 :(得分:0)

您可以使用strtotime()进行时间计算。

$timein = strtotime('09:00');
$timeout = strtotime('17:00');
$timediff = $timein - $timeout;
echo 'Time: '.date('H:i:s', $timediff);