Formater des millisecondes au format hh:mm:ss:mmm

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 257 fois - Téléchargée 17 fois

Contenu du snippet

Bizarre, mais je n'ai pas trouvé de soluce à mon besoin express.
Je me suis donc fait la fonction vite-fait.
Très simple, mais peut éviter de creuser au besoin.

Source / Exemple :


// pour mon exemple on doit trouver 00:14:34:804
$v = 874804;  //variable en millièmes de secondes.

echo ms_2_hms($v);

function ms_2_hms($t)	{
	// isoler les millisecondes
	$ms = substr($t, -3);
	// totaliser les secondes entieres
	$ts = substr($t, 0, strlen($t) - 3);

	$h = str_pad((floor($ts / 3600)), 2, "0", STR_PAD_LEFT);	// nombre d'heures
	$r = $ts - ($h * 3600);						// secondes restantes
	$m = str_pad((floor($r / 60)), 2, "0", STR_PAD_LEFT);		// nombre de minutes
	$s = str_pad(($r - ($m * 60)), 2, "0", STR_PAD_LEFT);		// secondes restantes
	
	return $h.":".$m.":".$s.":".$ms;
}

A voir également

Ajouter un commentaire

Commentaire

cs_Astalavista
Messages postés
194
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010
-
Quelques petits conseils :
à l'entrée de ta fonction fait voir un cast:
$t = (int)$t;
pour être sur d'avoir un nombre.
et pour ta ligne 17, essaye de faire plutôt ça :
return $h.':'.$m.':'.$s.':'.$ms;
Ton script sera plus rapide ...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.