Amélioration de code: le temps

Mammouth du PHP | 545 Messages

07 févr. 2006, 13:04

Salut,
Je travaille sur des classement de course à pied où il y a une variable de temps (exprimé 00:00:00). J'ai aussi une moyenne kilométrique qui est exprimé de la même façon que le temps ... j'aimerai l'exprimer en minutes et secondes (00:00) car même en courant en marche arrière, personne ne dépasse les 10 min au kilométre!

Pour l'instant, l'affichage ce fait comme suit:
<?php echo $row_course['moyenne']; ?>
et il me semble que je dois voir du côté de:
<?php setlocale (LC_ALL,"fr_FR"); echo strftime("% ?????",strtotime($row_course['moyenne'])); ?>
Non?

Merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Eléphant du PHP | 413 Messages

07 févr. 2006, 13:12

Salut,
je ne pense pas que le setlocale soit utile.

$row_course['moyenne'] est un nombre en secondes, n'est-ce pas ?

pour strftime, ceci devrait marcher :
strftime("%M:%S", $row_course['moyenne'])
mais c'est tordu, car le deuxième paramètre devrait être une date - le nombre de secondes depuis le 1er janvier 1970. donc ici c'est comme si tu lui donnais la date suivante : 1er janvier 1970 à minuit passé de x secondes.

sinon tu fais un calcul :
$minutes = $row_course['moyenne'] / 60;
$secondes = $row_course['moyenne'] % 60;
echo "$minutes:$secondes";
--
Goeb

Mammouth du PHP | 545 Messages

07 févr. 2006, 13:19

Merci,

J'ai donc fait ceci:
<?php echo strftime("%M:%S",strtotime($row_course['moyenne'])); ?>
Cela fonctionne merci beaucoup
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!