首页 > 解决方案 > 时间数组php的总和 - 结果应该是没有DAY的H:m:i

问题描述

我有一个包含时间值的数组

 print_r($timeVal);

输出:

 Array ( 
[2018-12-01] => 23:58:0 
[2018-12-02] => 23:58:0
[2018-12-03] => 23:58:0     
[2018-12-05] => 2:0:0 
)

所以我想计算所有这些并获得总时间:正确的结果应该是

73:54 而不是 3 天 1 小时 54 分 0 秒

帖子不是重复的,因为我查看了其他帖子,它们显示日小时分钟而不仅仅是小时分钟

像这样的例子:

 $sum = strtotime('00:00:00');
 $sum2=0;  
 foreach ($TimeVal as $v){

        $sum1=strtotime($v)-$sum;

        $sum2 = $sum2+$sum1;
    }

    $sum3=$sum+$sum2;
date("H:i:s",$sum3)  //this show 1:54:00

标签: php

解决方案


由于您不想以 24 小时格式显示您的时间,date()因此不会为您提供所需的内容。

我复制了您的代码并稍作修改,因此它可以使用您提供的示例完成工作:

$sum = strtotime('00:00:00');
$sum1 = 0;
foreach ($TimeVal as $v){
    $sum1 += strtotime($v) - $sum;
}
$hours = $sum1 / 3600;
$minutes = ($hours - floor($hours)) * 60;

echo floor($hours) . ':' . round($minutes);

推荐阅读