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

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

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.