Esta função é muito simples de usar e muito útil, visto que muitos dos valores retornados por várias funções, quando estas retornam tempo, são em segundos. Com esta função, converte-nos para dias/semanas/horas/minutos.
function formatsecs($secs){ $times=array( 'w'=>3600*24*7, 'd'=>3600*24, 'h'=>3600, 'm'=>60 ); $str=''; foreach($times as $name=>$time){ if($secs>$time){ $num=floor($secs/$time); $secs=$secs%$time; $str.="$num$name "; } } $str.=$secs.'s'; return trim($str); }
Para utilizarmos, basta chamar a seguinte função:
formatsecs(3661);
Pelo que, algo como isto iria resultar em 1h 1m 1s.
echo formatsecs(3661);