php中超过24小时的字符串

Ifa*_*dak 5 php time strtotime

有一个语法错误,您的变量名称是 $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;
Run Code Online (Sandbox Code Playgroud)

Ana*_*Die 2

您可以使用如下所示的自定义函数:-

<?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);
Run Code Online (Sandbox Code Playgroud)

输出:- https://eval.in/920129

注意:-我在这里不考虑秒。为此需要一点逻辑