<?php
function dtLength($sec) {
$t=new DateTime("@".$sec);
$r=new DateTime("@0");
$i=$t->diff($r);
return $h.":".$i->format("%I:%S");
}
$date = new DateTime;
$tempo_1 = 10 * 3600; // 10 horas
$tempo_2 = 18 * 3600; // 18 horas
$tempo_3 = 28 * 3600; // 28 horas
echo $date->setTime(0, 0, $tempo_1)->format('H:i:s'); // 10:00:00
echo $date->setTime(0, 0, $tempo_2)->format('H:i:s'); // 18:00:00
echo $date->setTime(0, 0, $tempo_3)->format('H:i:s'); // 04:00:00
echo dtLength($tempo_1);
echo dtLength($tempo_2);
echo dtLength($tempo_3);
//https://pt.stackoverflow.com/q/51821/101
PD9waHAKZnVuY3Rpb24gZHRMZW5ndGgoJHNlYykgewogICAgJHQ9bmV3IERhdGVUaW1lKCJAIi4kc2VjKTsKICAgICRyPW5ldyBEYXRlVGltZSgiQDAiKTsKICAgICRpPSR0LT5kaWZmKCRyKTsKICAgICRoPWludHZhbCgkaS0+Zm9ybWF0KCIlYSIpKSoyNCtpbnR2YWwoJGktPmZvcm1hdCgiJUgiKSk7CiAgICByZXR1cm4gJGguIjoiLiRpLT5mb3JtYXQoIiVJOiVTIik7Cn0KCiRkYXRlID0gbmV3IERhdGVUaW1lOwokdGVtcG9fMSA9ICAxMCAqIDM2MDA7IC8vIDEwIGhvcmFzCiR0ZW1wb18yID0gMTggKiAzNjAwOyAvLyAxOCBob3JhcwokdGVtcG9fMyA9IDI4ICogMzYwMDsgLy8gMjggaG9yYXMKZWNobyAkZGF0ZS0+c2V0VGltZSgwLCAwLCAkdGVtcG9fMSktPmZvcm1hdCgnSDppOnMnKTsgLy8gMTA6MDA6MDAKZWNobyAkZGF0ZS0+c2V0VGltZSgwLCAwLCAkdGVtcG9fMiktPmZvcm1hdCgnSDppOnMnKTsgLy8gMTg6MDA6MDAKZWNobyAkZGF0ZS0+c2V0VGltZSgwLCAwLCAkdGVtcG9fMyktPmZvcm1hdCgnSDppOnMnKTsgLy8gMDQ6MDA6MDAKZWNobyBkdExlbmd0aCgkdGVtcG9fMSk7CmVjaG8gZHRMZW5ndGgoJHRlbXBvXzIpOwplY2hvIGR0TGVuZ3RoKCR0ZW1wb18zKTsKCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzUxODIxLzEwMQ==