[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) !