Fonction php pour transformer un temps

Eléphanteau du PHP | 34 Messages

23 avr. 2008, 10:41

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:
http://www.racegamers.com
Championnat offline sur tous les jeux de sport mecanique

ViPHP
ViPHP | 4674 Messages

23 avr. 2008, 11:34

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 :).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphanteau du PHP | 34 Messages

23 avr. 2008, 12:30

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 ? ....
http://www.racegamers.com
Championnat offline sur tous les jeux de sport mecanique

ViPHP
ViPHP | 4039 Messages

23 avr. 2008, 12:50

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..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphanteau du PHP | 34 Messages

23 avr. 2008, 13:43

Ok, mais alors là, je vois vraiment pas comment faire avec date() ..... :cry:
http://www.racegamers.com
Championnat offline sur tous les jeux de sport mecanique

Mammouth du PHP | 965 Messages

23 avr. 2008, 15:06

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);

ViPHP
ViPHP | 4674 Messages

23 avr. 2008, 19:11

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 ;-).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).