PHP добавить серию минут: секунд - PullRequest
2 голосов
/ 12 января 2010

У меня есть список длительностей видеофрагментов, которые мне нужно добавить для получения общей продолжительности.

Сериал такой:

  • 0: 33
  • 4: 30
  • 6: 03
  • 2: 10

... и т.д.

Мне нужно сложить минуты и секунды, чтобы получить общую продолжительность видео.


Вот модифицированная функция моего принятого ответа:

function getTotalDuration ($durations) {
    $total = 0;
    foreach ($durations as $duration) {
        $duration = explode(':',$duration);
        $total += $duration[0] * 60;
        $total += $duration[1];
    }
    $mins = floor($total / 60);
    $secs = str_pad ( $total % 60, '2', '0', STR_PAD_LEFT);
    return $mins.':'.$secs;
}

Только что убедился, что вывод выглядит правильно.

Ответы [ 3 ]

6 голосов
/ 12 января 2010

Дайте этому коду выстрел:

function getTotalDuration ($durations) {
    $total = 0;
    foreach ($durations as $duration) {
        $duration = explode(':',$duration);
        $total += $duration[0] * 60;
        $total += $duration[1];
    }
    $mins = $total / 60;
    $secs = $total % 60;
    return $mins.':'.$secs;
}
2 голосов
/ 12 января 2010

Сохраняет результат в $seconds:

$seconds = 0;
foreach ($times as $time):
  list($m,$s) = explode(':',$time);  
  $seconds += $s + 60*$m;
endforeach;
1 голос
/ 12 января 2010

Преобразовать все время в секунды, добавить их как целые числа, преобразовать сумму обратно в минуты и секунды?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...