您的变量名称是 $hour 但最后您使用了 $hours 存在语法错误。
$time1 = strtotime("02:40:00");
$time2 = strtotime("34:20:00");
$diff = $time2 - $time1;
$hour = floor($diff / (60 * 60));
$minute = $diff - $hour * (60 * 60);
//$final = $hours .":".floor( $minute / 60 );
$final = $hour .":".floor( $minute / 60 );
echo $final;
最佳答案
您可以使用如下自定义函数:-
<?php
$actual_time = "34:20";
$time_to_reduce = "2:40";
function timeSubtactionFirstTime($actual_time ,$time_to_reduce){
$actual_time_array = explode(":",$actual_time);
$time_to_reduce = explode(":",$time_to_reduce);
$final_result = [];
if($actual_time_array[1] < $time_to_reduce[1]){
$actual_time_array[0] = $actual_time_array[0]-1;
$final_result[] = $actual_time_array[1]+60-$time_to_reduce[1];
}else{
$final_result[] = $actual_time_array[1]-$time_to_reduce[1];
}
$final_result[] = $actual_time_array[0]-$time_to_reduce[0];
return implode(":", array_reverse($final_result));
}
echo timeSubtactionFirstTime($actual_time ,$time_to_reduce);
注意:- 我在这里不考虑秒数。为此需要一点逻辑
关于php - 在 php 中超过 24 小时的字符串时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47843311/