IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

addition des heures


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 179
    Par défaut addition des heures
    bjr, ci-joint lignes de codes ou j additionne des heures


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    //mettre les totaux 
    				$e = new datetime('00:00:00');
    				$f = clone $e;
    				if (!empty(isset($valcpt0))) {
    					$e->add($total0);
    				}
    				if (!empty(isset($valcpt1))) {
    				$e->add($total1);
    				}
    				if (!empty(isset($valcpt2))) {
    				$e->add($total2);
    				}
    				if (!empty(isset($valcpt3))) {
    				$e->add($total3);
    				}
    				if (!empty(isset($valcpt4))) {
    				$e->add($total4);
    				}
    				if (!empty(isset($valcpt5))) {
    				$e->add($total5);
    				}
    				$totalf = $f->diff($e);
    les heures sont :
    09:21:00
    09:17:35
    03:54:55
    06:53:25
    09:00:22
    09:00:35
    le total au format heures donne 23:27:52 (normal puisqu' a 24h il passe a 0)

    le total au format que je desire est 46:46:72

    quel est la meilleure procédure pour cela

    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    N'utilise pas des variables numérotés mais des tableaux.

    Je pense que tu ne voulais pas 72 secondes comme dans ton exemple donc je propose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $data[] = '09:21:00';
    $data[] = '09:17:35';
    $data[] = '03:54:55';
    $data[] = '06:53:25';
    $data[] = '09:00:22';
    $data[] = '09:00:35';
     
    $total = 0;
    foreach ($data as $time) {
    	list($heures, $minutes, $secondes) = explode(':', $time);
    	$total += $heures * 3600 + $minutes * 60 + $secondes;
    }
    echo floor($total / 3600) . ':'  . ($total /60) % 60 . ':' . $total % 60;
    Les fonctions PHP servent à manipuler des dates, donc c'est s'encombrer je trouve de s'en servir pour additionner des durées. De plus on peut avoir des resultats inattendues a cause des changements d'heure.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 179
    Par défaut RE
    ok merci bien pris mais ca ne resolu pas le format date

    les donnes sont dans les variable $total0 a $total5 au format datetime je dois les convertir

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    dans les variable $total0 a $total5
    Comme je t'ai dit, c'est une mauvaise facon de coder, utilise un tableau.
    au format datetime
    Ce sont des vraies dates ou seulement des heures ? pourquoi utilises-tu des objets datetime ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 179
    Par défaut RE
    ceux sont de vrais dates
    qui proviennent de durée de travail format date et heure (Y-m-d 00:00:00)

    je dois additionner les heures par jour (du lundi au samedi) de ce cote pas de PB ca fonctionne

    mais je dois aussi faire le total pour la semaine
    donc mon idée est de d additionner les données contenu dans les variables !!!

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si le point de départ sont des durées, c'est quand même très logique d'additionner ces durées comme je te l'ai montré plutôt que de faire des magouilles sur des dates.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire l'addition des heures
    Par zidenne dans le forum Delphi
    Réponses: 1
    Dernier message: 25/08/2006, 13h18
  2. Exécution de macro à des heures différentes.
    Par pepe2006 dans le forum Access
    Réponses: 5
    Dernier message: 14/09/2005, 11h44
  3. Conversion des heures en minutes
    Par lacrevette dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/02/2005, 17h50
  4. [CR] Additionner des heures
    Par sbis dans le forum Formules
    Réponses: 4
    Dernier message: 22/03/2004, 15h34
  5. [TIME] Gestion des heures
    Par Seb7 dans le forum Débuter
    Réponses: 2
    Dernier message: 10/07/2003, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo