以 php 为单位计算数组的总时间



这是我的数组输出看起来像这样

Array ( [0] => 02:50:19 )  
Array ( [0] => 00:00:00 )  
Array ( [0] => 00:01:06 )  
Array ( [0] => 00:55:06 )  
Array ( [0] => 01:29:40 )  
Array ( [0] => 00:00:00 )  
Array ( [0] => 07:01:32 )  
Array ( [0] => 00:00:00 )

现在如何从这个数组计算总时间..??

$x = null;
$sum = strtotime('00:00:00');
foreach($total as $t){
$date = new DateTime($t);
if($x == ''){
$diff = $date->diff($date2);
echo "difference " . $interval->h . " hour, " . $interval->i." minutes, ".$interval->s." second";
$sum1=strtotime($diff->h.':'.$diff->i.':'.$diff->s)-$sum;
$sum2 = $sum2+$sum1;
echo "<br />";
}
$date2 = $date;
$x = 1;
}
$sum3=$sum+$sum2;
echo date("H:i:s",$sum3);

我从堆栈溢出中尝试了这段代码,答案是链接从数组计算总小时数 - php
,但我没有得到任何结果。

尝试此代码,仅添加数组 timimg,然后添加到今天的计时

<?php
$total = array('01:00:00','02:20:00','04:00','05:10');
$sum = strtotime('00:00:00');
$sum2=0;  
foreach ($total as $v){
$sum1=strtotime($v)-$sum;
$sum2 = $sum2+$sum1;
}
$sum3=$sum+$sum2;
echo date("H:i:s",$sum3);

演示

您可以像这样计算总秒数:

$total = 0;
foreach ($array as $time) {
$temp = explode(':', $time);
$total += intval($temp[2]); // Add the seconds
$total += intval($temp[1]) * 60; // Add the minutes
$total += intval($temp[0]) * 60 * 60; // Add the hours
}

然后你可以像这样回显总数:

echo gmdate("H:i:s", $total);

最新更新