Page 1 sur 1

Fonction php pour transformer un temps

Posté : 23 avr. 2008, 10:41
par racegamers
Bonjour,

Je possede un site sur les jeux vidéo de sport automobile et on fais des petits championnats. Pour cela, j'ai une base de donné qui stock les temps totaux des pilotes, que j'ai pris soin de transormer en millieme pour pouvoir faire des ecarts entre le premier et les suivant.

Je voudrais maintenant additionné 2 temps (qui sont sous la forme 00'00"000)
Je fais donc un :
$tot_mil_c1 = ($min_c1*60*1000) + ($sec_c1*1000) + $mil_c1; 
$tot_mil_c2 = ($min_c2*60*1000) + ($sec_c2*1000) + $mil_c2;
$tot_mil_ct = $tot_mil_c1 + $tot_mil_c2;
Ce qui me permet donc d'avoir le temps en milieme total des 2 courses.

Mon probleme est maintenant, ce milieme, comment le retransformer en un temps min'sec"mil ? (00'00"000)

D'avance MERCI !! 10000000000000 MERCI MEME :wink:

Posté : 23 avr. 2008, 11:34
par Hywan
Hey :),

En fait, on préfèrera toujours travailler avec des dates au format Timestamp qui se manipule très bien. Ce format n'est autre que le nombre de seconde depuis le 1er janvier 1970. Tu peux donc appliquer toutes les opérations de bases (+, -, *, /, % ...) dessus.
Une fois triturée, tu peux la (la date) sortir sous n'importe quel format à l'aide de la fonction date() de PHP.

Je te conseille d'étudier cette solution qui serait nettement plus pratique pour toi :).

Posté : 23 avr. 2008, 12:30
par racegamers
Merci de ta réponse, mais non, c'est pas bon car j'ai besoin d'un temps en milieme de seconde.
De plus, on parle bien ici de temps, et pas de date donc pas tres pratique d'utiliser une fonction avec une date qui ne me sert a rien non ? ....

Posté : 23 avr. 2008, 12:50
par Berzemus
Merci de ta réponse, mais non, c'est pas bon car j'ai besoin d'un temps en milieme de seconde.
De plus, on parle bien ici de temps, et pas de date donc pas tres pratique d'utiliser une fonction avec une date qui ne me sert a rien non ? ....
tiré de la doc sur la fonction date():
u Millisecondes (ajouté en PHP 5.2.2) Exemple : 54321
C'est quoi la différence entre "milième de secondes" et "Millisecondes" ?

C'est fou ce qu'on mets dans la doc quand même..

Posté : 23 avr. 2008, 13:43
par racegamers
Ok, mais alors là, je vois vraiment pas comment faire avec date() ..... :cry:

Posté : 23 avr. 2008, 15:06
par agité
Ok, mais alors là, je vois vraiment pas comment faire avec date() ..... :cry:
Il faut rentrer dans ta base les temps en TIMESTAMP que tu traite ensuite a l'affichage avec la fonction date().

par exemple :

date("u",tontimestamp);

Posté : 23 avr. 2008, 19:11
par Hywan
Comme le dit Berzemus, c'est fou ce qu'on trouve dans la documentation.
Même que la chose la plus importante (le prototype) est plutôt très explicite sur le coup :

Code : Tout sélectionner

string date ( string $format [, int $timestamp ] )
Là, il n'y a pas tortiller des fesses ! C'est suffisamment clair ;-).