[RESOLU] convertir une valeur temps en min, sec, ms

Petit nouveau ! | 4 Messages

12 avr. 2019, 19:00

bonsoir,

une fois de plus, je sèche malgré plusieurs tentatives de scripts qui n'ont rien donné... (microtime, time, getTimestamp...)
je récupère des valeurs qui sont normalement en minutes, secondes, millisecondes, elles sont dans ce format (millisecondes ?)

96365 (doit afficher 1 minutes 36 secondes et 365 millisecondes)
156808 (doit afficher 2 minutes 36 secondes et 808 millisecondes)
...

mais j'ai compris la conversion
(par exemple 96365, on sépare 365 pour les ms puis 96 / 60 = 1,36, on garde 1 pour les minutes et 0,36 x 60 = 36 sec)
je n'arrive pas à trouver la bonne requete php pour convertir chaque valeur

merci pour votre aide :wink:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

12 avr. 2019, 20:30

Il ne me semble pas que PHP ait de fonction standard pour faire de la conversion sur des temps en microsecondes.

Du coup tu es obligé d'en développer une toi même qui va faire ce que tu as décris.
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

12 avr. 2019, 20:34

Un truc comme ça en gros :
$input = 156808;

$millisecondes = $input % 1000;
$input = floor($input / 1000);

$seconds = $input % 60;
$input = floor($input / 60);

$minutes = $input % 60;
$input = floor($input / 60); 

echo $minutes." minute(s) ".$seconds." secondes ".$millisecondes." millisecondes";
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 4 Messages

12 avr. 2019, 20:46

bonsoir @rthur,

merci pour ton aide, effectivement c'est la bonne solution ! bonne soirée :)