我正在努力计算两种24小时格式之间的时差。从我的数据库中提取的数据如下:
$timein = "09:00";
$timeout = "17:00";
$timediff = $timein - $timeout
如上所述,我如何获得$timediff = 8
?
答案 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)
将问题分解为两个步骤。
这将更大的问题分解为可以更容易解决的基本问题。它是程序员腰带中非常有价值的工具。
对于第二部分,请务必按照您需要的方式处理数据。也许如果超时在timein之前,那么你需要增加24小时的总时间吗?这只是猜测,因为我不知道你的数据。
答案 3 :(得分:0)
您可以使用strtotime()进行时间计算。
$timein = strtotime('09:00');
$timeout = strtotime('17:00');
$timediff = $timein - $timeout;
echo 'Time: '.date('H:i:s', $timediff);