PHP将秒数转换为秒,分钟,小时,小时数超过24小时

时间:2016-05-01 16:27:17

标签: php datetime

我希望将秒数转换为秒,分钟,然后是小时,超过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

我知道这在技术上是正确的,但如何将天/周/月转换为小时?

1 个答案:

答案 0 :(得分:3)

您不需要使用DateTime,只需简单算术。

$h = floor($seconds / 3600);
$m = floor(($seconds % 3600) / 60);
$s = $seconds % 60;
return sprintf("%dH %02dM %02dS", $h, $m, $s);