这是我的数组输出看起来像这样
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);
我从堆栈溢出答案中尝试了此代码,此处为链接Calculate total hours from Array - php
但没有任何结果。
答案 0 :(得分:5)
尝试此代码,仅添加timimgs数组,然后添加到今天的时间
<?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);
答案 1 :(得分:1)
您可以像这样计算总秒数:
$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);