Не уверен, была ли доступна следующая функция, когда этот вопрос был написан, но так как это вопрос, который я задавал себе, вот так.
Я использовал ответ выше:
$seconds = bcmod($row{'playtime_seconds'}, 60);
$minutes = floor($row{'playtime_seconds'} / 60);
$hours = floor($minutes / 60);
, который работает в большинстве случаев, но нет заполнения - так что вы можете получить 20: 1, когда это должно быть 20:01 - и это не очень хорошо в течение часа - одиндлина входит в длину = "1: 70: 9" - поэтому альтернативой является использование функции "дата".
<?=date("H:i:s", $duration); ?>
, которая возвращает 00: 31: 42 из этогоколичество секунд