Php 如何以时间格式(hh:mm:ss)对N个值求和?

Php 如何以时间格式(hh:mm:ss)对N个值求和?,php,time,date-parsing,datetime-parsing,Php,Time,Date Parsing,Datetime Parsing,我使用了date_解析函数并添加了一些时间值 print_r(date_parse("23:00:00")); $parsed = date_parse($totdh); $seconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60 + $parsed['second']; $TotDownMinutes = $seconds / 60; 当总数超过24小时时,我遇到了问题。如果它是25小时,它只是省略了2,而只需要5小时 Array (

我使用了date_解析函数并添加了一些时间值

print_r(date_parse("23:00:00"));
$parsed = date_parse($totdh);
$seconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60 + $parsed['second'];
$TotDownMinutes = $seconds / 60;
当总数超过24小时时,我遇到了问题。如果它是25小时,它只是省略了2,而只需要5小时

Array ( [year] => [month] => [day] => [hour] => 23 [minute] => 0 [second] => 
0 [fraction] => 0 [warning_count] => 0 [warnings] => Array ( ) [error_count]
=> 0 [errors] => Array ( ) [is_localtime] => ) 

print_r(date_parse("26:00:00"));
Array ( [year] => [month] => [day] => [hour] => 6 [minute] => 0 [second] => 
0 [fraction] => 0 [warning_count] => 0 [warnings] => Array ( ) [error_count]
=> 1 [errors] => Array ( [0] => Unexpected character ) [is_localtime] => ) 

告诉我如何添加时间值(如12:30:00+14:00:00+02:00:00=28:30:00)。

这可能不是一个非常优雅的解决方案,但至少我认为它应该解决您的问题

$total = 0;
$times = array('12:30:00', '14:00:00', '02:00:00');

foreach($times as $t) {
    $total += toSeconds($t);
}

echo toTime($total);

function toSeconds($time) {
   $parts = explode(':', $time);
   return 3600*$parts[0] + 60*$parts[1] + $parts[2];
}

function toTime($seconds) {
    $hours = floor($seconds/3600);
    $seconds -= $hours * 3600;
    $minutes = floor($seconds/60);
    $seconds -= $minutes * 60;
    return $hours . ':' . $minutes . ':' . $seconds;
}
请注意,不要检查字符串的格式是否正确。

或者:

$times = [ '10:30:22', '23:16:49' ];
$sum = [ 'h'=>0,'m'=>0,'s'=>0 ];

foreach( $times as $time ) {
    list($h,$m,$s) = explode(':',$time);
    $sum['h'] += $h;
    $sum['m'] += $m;
    $sum['s'] += $s;
}

$sum['m'] += floor($sum['s']/60);
$sum['h'] += floor($sum['m']/60);
$sum['s'] = $sum['s']%60;
$sum['m'] = $sum['m']%60;

echo implode(':',$sum);
使用和对象。你感兴趣的函数就是函数