我希望将秒数转换为秒,分钟,然后是小时,超过24小时的任何内容都应包括总小时数。目前我有
function secondsToTime($seconds) {
$dtF = new DateTime("@0");
$dtT = new DateTime("@$seconds");
return $dtF->diff($dtT)->format('%hH %iM %ss');
}
但是当我使用
时secondsToTime(90000)
我明白了:
1H 00M 00S
相反,它应该说
25H 00M 00S
我知道这在技术上是正确的,但如何将天/周/月转换为小时?
答案 0 :(得分:3)
您不需要使用DateTime
,只需简单算术。
$h = floor($seconds / 3600);
$m = floor(($seconds % 3600) / 60);
$s = $seconds % 60;
return sprintf("%dH %02dM %02dS", $h, $m, $s);