Moyenne durées

Moyenne durées - PHP - Programmation

Marsh Posté le 13-02-2008 à 01:30:06    

Salut,
 
 
J'aimerais savoir comment faire une moyenne avec des durées en PHP.
 
Je reçois les durées sous cette forme : 00:03:14 (h-m-s) et il faut que je les additionne toutes et que j'en fasse une moyenne. J'ai essayé quelques méthodes notamment en utilisant les timestamp (avec strtotime) avant de faire les opérations mais ca ne me sort rien qui tient la route :\
 
 
Merci d'avance pour votre aide.


---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
Reply

Marsh Posté le 13-02-2008 à 01:30:06   

Reply

Marsh Posté le 13-02-2008 à 11:23:14    

bah suffit de tout convertir en secondes...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-02-2008 à 11:26:41    

Ah bon? Et comment fais-tu ?
 
J'ai trouvé une méthode, pas très jolie, mais ça a l'air de fonctionner.
 
En gros je fais (j'ai pas mon code devant moi) :
 
$seconde = date("s", strtotime($date));
$nb_min = floor($seconde / 60);
$reste_min = ($seconde % 60);
 
Je fais pareil pour les minutes et pour les heures mais faut avouer que c'est pas super optimized :D Et en réalité ca donne beaucoup de if dans le code.


Message édité par Tonio94 le 13-02-2008 à 11:27:19
Reply

Marsh Posté le 13-02-2008 à 11:27:46    

http://fr2.php.net/manual/fr/function.explode.php


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-02-2008 à 11:31:39    

Si je comprends bien ta méthode j'utilise les ":" en délimiteur et je convertis chaque element de mon tableau en timestamp que j'additionne.

Reply

Marsh Posté le 13-02-2008 à 11:33:44    

pourquoi convertir en timestamp? Les additions/multiplications c'est trop facile?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-02-2008 à 11:35:06    

Oui c'est vrai en y re-reflechissant ca n'a pas d'intéret de les convertir! Merci pour la methode je vais tester ça ce soir.

Reply

Marsh Posté le 13-02-2008 à 11:55:43    

skeye a écrit :

pourquoi convertir en timestamp? Les additions/multiplications c'est trop facile?


euh les moyennes sur des heures / minutes sans conversion ça risque d'être marrant.
Par exemple, prenons la moyenne de 1h1m1s , 2h2m2s en "splittant":
Heures: (1 +2) / 2 = 1.5
Mins: pareil 1.5
Secondes: pareil 1.5
La moyenne est alors de 1.5h1.5m1.5sec [:xauhaus]


---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 13-02-2008 à 11:58:47    

anapajari a écrit :


euh les moyennes sur des heures / minutes sans conversion ça risque d'être marrant.
Par exemple, prenons la moyenne de 1h1m1s , 2h2m2s en "splittant":
Heures: (1 +2) / 2 = 1.5
Mins: pareil 1.5
Secondes: pareil 1.5
La moyenne est alors de 1.5h1.5m1.5sec [:xauhaus]


euh, tu ne sais pas faire d'additions/multiplications toi non plus?[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-02-2008 à 12:13:08    

Reply

Marsh Posté le 13-02-2008 à 12:13:08   

Reply

Marsh Posté le 13-02-2008 à 12:13:38    


Merci, enfin quelqu'un qui comprend ce que je dis.[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-02-2008 à 12:20:21    


ah oui donc en fait tu convertis les heures en secondes et pareil pour les minutes, mais t'appeles pas ça une conversion :o

skeye a écrit :


Merci, enfin quelqu'un qui comprend ce que je dis.[:pingouino]


c'était pas clair j'avais pas compris , s'tout [:spamafote]

 

Message cité 1 fois
Message édité par anapajari le 13-02-2008 à 12:21:06

---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 13-02-2008 à 13:02:04    

anapajari a écrit :


ah oui donc en fait tu convertis les heures en secondes et pareil pour les minutes, mais t'appeles pas ça une conversion :o


 
M'enfin.[:pingouino]
 

skeye a écrit :

bah suffit de tout convertir en secondes...



---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed