PHP Fonction d'addition de variables de type

Fermé
RasZom - 16 déc. 2005 à 19:59
 Elijah37 - 2 juin 2010 à 14:03
Bjour,

est ce que qqn pourrait me donner qques pistes pour le codage d'une fonction en php qui prendrait en paramètres deux variables de type '00:00:00', de type time quoi, et retournerait l'addition des deux.

Bien Cordialement,



Joel

2 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
17 déc. 2005 à 03:09
Salut,

Avec mktime()
http://fr.php.net/manual/fr/function.mktime.php

Tu peux entrer des données inhabituelles et la fonction convertira comme il se doit les données.
Par exemple, si dans month tu mets 13, alors il convertira la date en additionnant l'année de 1 et mettant le mois à 01.

Avec les heures normalement c'est pareil.

Donc imaginons que tu aies deux arguments dans ta fonction $a et $b formattés de type: "00:00:00", tu peux les tranformer en tableaux avec ":" comme séparateur entre chaque élément grâce à la fonction explode() et les additionner dans la fonction microtime.
http://fr.php.net/manual/fr/function.explode.php

Tu saisis? Grossièrement:
function bidule($a, $b)
{
         $a=explode(':', $a);
         $b=explode(':', $b);
          /*On additionne le tout, même si le résultat n'est pas cohérent
           mktime() fera la traduction */

         $c=array($a[0] + $b[0], $a[1] + $b[1], $a[2] + b[2]);
         
         $timestamp=mktime(c[0],  c[1],  c[2]);
}


Et voilà, la variable $timestamp qui en résulte est une variable de type timestamp (un nombre qui représente les secondes écoulées depuis le 1 janvier 1970).

Ensuite avec strftime, tu peux convertir ce timestamp en un horaire plus convenable.
http://fr.php.net/manual/fr/function.strftime.php
1
Très grossièrement alors : )
0