计算以2 24小时时间格式PHP工作的小时数

时间:2015-07-20 03:28:25

标签: php time

嗨我有一个24小时时间格式的两个变量,想要计算工作小时数。但我得到了消极和错误的价值

我正在使用PHP,这是我的代码

$endtime = date( 'g:i A', strtotime( $itInfo['endTime'] ) );
$startTime = date( 'g:i A', strtotime( $itInfo['startTime'] ) );
$timeDiff = (strtotime($endtime) - strtotime($startTime))/60/60;
$total      = strtotime($endtime) - strtotime($startTime);
$hours      = floor($total / 60 / 60);
$minutes    = round(($total - ($hours * 60 * 60)) / 60);

echo "FROM ".$itInfo['startTime']." TO ".$itInfo['endTime']." (".$hours.'.'.$minutes."hours)";`

这是输出从22:00到03:00(-19.0小时),这是错误的输出应该是5小时。

2 个答案:

答案 0 :(得分:0)

试试这个:

Place

答案 1 :(得分:0)

正如其他人所说,最好使用时间戳。但是使用您当前的代码,您应该能够在echo

之前添加此权限
if ($itInfo['startTime'] > $itInfo['endTime']) {
    $hours = 24 - $hours;
}

这将是:24 - 19 = 5

另外,请务必在abs()变量中添加$total

$total = abs(strtotime($endtime) - strtotime($startTime));