2016-05-01 31 views
1

秒を秒、分、時間に変換したい場合は、24時間を超えるものに合計時間を含める必要があります。現在、私はPHP秒を秒、分、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

すべての日に24を掛けて、時間単位で取得してください。見る; http://php.net/manual/en/class.dateinterval.php#dateinterval.props.days – Rizier123

+0

$秒を3600で割り、小数点以下を切り捨てます。 – Barmar

+0

[秒から時間に変換:分:秒]の可能な複製(http://stackoverflow.com/questions/3172332/convert-seconds-to-hourminutesecond) – splash58

答えて

3

DateTimeを使用する必要はありません。単純な算術です。

$h = floor($seconds/3600); 
$m = floor(($seconds % 3600)/60); 
$s = $seconds % 60; 
return sprintf("%dH %02dM %02dS", $h, $m, $s); 
関連する問題