[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) !
1 Comment so far ...
Neige says:
Tiens... Ca fait encore un argument pour arrêter de développer avec PHP4... Parce qu'en PHP4, j'te raconte pas comment ça s'fait pas en 2 lignes aussi simples (oui je sais, cette phrase est écrite dans un français absolument déplorable)