[Astuce] - Formater une durée en heures, minutes, secondes

Voici un bout de code qui, j'en suis sûr, beaucoup d'entre vous ont déjà tenté d'implémenter dans leur projets, dans différentes façons.

En effet, qui n'a jamais voulu afficher une durée donnée en secondes, découpée en mois, jours, heures, minutes, secondes ?

La solution que je vous propose tiens en 2 lignes :

<?php
/**
 * Créer un objet DateTime avec le nombre de secondes donné en paramètres
 * Comme la date est de l'an 0, le temps retourné correspondra au temps 
 * en jours, heures, minutes, secondes du timestamp indiqué
 * 
 * @param Integer $iTime : Timestamp en seconde
 * @param String $sFormat (optionel) : Le format de la date à retourner
 * 
 * @return String : La date formatée
 */
function timetostr ($iTime, $sFormat = 'd\j H\hi\ms\s') {
    $oTime = new DateTime ('@'.$iTime);
    return $oTime->format ($sFormat);
}
?>

Attention ! Ne fonctionne que sous PHP 5.2 (utilisation de DateTime) !

Filed under  //  Development   Php   Scripts   date   day   duration   format   hour   minute   second   time   timestamp  
Posted by Cyril Nicodème