somme d'heures en PHP - PHP - Programmation
Marsh Posté le 16-02-2012 à 16:30:45
Essayer
echo date("H:i", strtotime($h1) + strtotime($h2) + strtotime($h3)); |
Voir la doc sur le site officiel : http://fr.php.net/manual/en/function.date.php et http://fr.php.net/manual/en/function.strtotime.php
Marsh Posté le 16-02-2012 à 17:10:21
Très bien merci beaucoup pour les adresses.
Je vais tenter d'aller voir la doc sur le site officiel.
Pour ce qui concerne la réponse, je dois préciser que le tableau comportera n valeurs.
Puis je écrire :
Code :
|
Cordialement,
Marsh Posté le 17-02-2012 à 11:21:05
Il me semblait que strtotime attendait :
- soit une valeur de la forme date/heure, ou au minimum, heure, de la forme "hh:mm:ss"
- soit une chaîne de calcul de temps relatif à un timestamp (qui est donc, lui, une date/heure)
Il faudrait donc que les données soit du style 00:01:15, je pense, non?
Et la, le code d'olivthill marcherait.
Marsh Posté le 17-02-2012 à 11:31:25
@rufo. Oui, tout à fait. Je n'ai pas testé, et donc, j'ai aussi un doute. Mais la fonction strtotime() semble assez souple, d'après mes souvenirs, et d'après les exemples en commentaires, et peut-être que ça marcherait. Sinon, il suffirait de concaténer avec .":00".
@thierryQ. Non, je ne crois pas qu'on puisse écrire echo date("H:i", strtotime($h1) + strtotime($hn));. Je crois qu'il faut faire une boucle. Mon code n'était qu'un exemple simplifié, mais ce ne devrait pas être très compliqué de faire une boucle du genre :
$total_time = strtotime($h[0].":00" ); |
Marsh Posté le 17-02-2012 à 11:36:58
Le pb, à mon avis, est que strtotime manipule des dates/heures. Que va t'il se passer si la somme dépasse les 24h?
Ex :
17:00:30
08:00:00
Lui, s'attend probablement à avoir 25:00:30. Or, strtotime, va passer au jour suivant et il va avoir 01:00:30
Marsh Posté le 17-02-2012 à 16:56:31
Voici une fonction addtime :
tu la colle ou tu veux dans le code, au début, à la fin, mais hors d'une fonction.
Code :
|
Cela te permet d'additionner des heures minutes et secondes (optionnel) à un temps voulu de la forme HH:MM:SS.
ensuite pour additionner ton tableau je ferais un truc comme ca :
Code :
|
A++
Marsh Posté le 17-02-2012 à 21:11:10
Merci beaucoup calvouze, et merci @ tous ceux qui m'ont répondu.
Je vais essayer de coller la fonction addtime quelque part. Je dois trouver le fichier php ad hoc. Je vous tiendrai informés.
@ très bientôt.
Marsh Posté le 20-02-2012 à 17:59:04
Sinon une autre solution c'est de passer les heures:minutes en minutes, additionner les minuteset a la fin diviser pour reformer des heures:minutes. Quelque chose comme :
Code :
|
Marsh Posté le 21-02-2012 à 12:32:35
Merci nukolau,
C'est décidé je me donne un verni PHP. Je viens de commencer PHP sur le site du zero et je compte bien aller jusqu'au bout. Ainsi je comprendrai mieux où insérer ce que vous me transmettez.
Je vous remercie pour votre aide.
Marsh Posté le 16-02-2012 à 15:53:02
Bonjour à tous,
Je suis sur Joomla 1.7.
Je viens de réaliser un composant avec COOK qui tourne très bien en version 1.6 // 1.7 et 2.5 de Joomla.
Sur celui-ci j'obtiens un tableau dans lequel des heures sont renseignées.
Je souhaite faire la somme de ces heures là pour un individu donné (Joomla user).
Pour ce faire je suis obligé de hacker mon propre composant.
Le HIC, c'est ce que je suis plus qu'un newbie en PHP, je ne pratique pas du tout, à part faire des singeries (copier coller).
Donc sauriez vous me donner la formule PHP qui executerait la sommes des heures déjà répertoriées dans un tableau.
Ensuite il faudrait également m'indiquer ou copier coller cette formule.
Exemple :
01:00
01:15
00:45
Le format est toujours comme ci-dessus.
D'avance merci beaucoup pour votre aide précieuse.
ThierryQ