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

Langage PHP Discussion :

Différence entre 2 heures


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 152
    Par défaut Différence entre 2 heures
    Bonjour,

    Je souhaite calculer la différence entre deux heures différentes.

    J'ai fait le script suivant, mais il envoie toujours 0...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $heure = date("H:i:s");
    $heure_debut = "17:20:00";
     
    $ecart = $heure - $heure_debut; 
    echo "heure actuelle : "; echo $heure; echo '</br>';
    echo "heure debut: "; echo $heure_debut; echo '</br>';
    echo "ecart :"; echo $ecart;  echo '</br>';
    J'ai aussi testé ça avec datetime mais cela ne me retourne rien du tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $heure = date("H:i:s");
    $heure_actuelle = $heure;
    $heure_depart = new DateTime("17:20:00"); 
    $ecart = $d2->diff($d1); 
    print_r( $ecart ) ;
    Merci

  2. #2
    Membre expérimenté
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 384
    Par défaut
    Salut,
    Une petite recherche rapide aurait pu être faite: https://www.php.net/manual/en/datetime.diff.php
    Bonne journée

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 152
    Par défaut
    Salut,

    Nos messages se sont croisés...

    J'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //renvoie une erreur $heure = dateTime("H:i:s"); ou $heure = new dateTime("H:i:s");
    $heure = date("H:i:s");
    $heure_actuelle = $heure;
    $heure_depart = new DateTime("17:20:00"); 
    $ecart = $heure_depart->diff($heure_actuelle); 
    print_r( $ecart ) ;
    Mais cela ne me renvoie rien

  4. #4
    Membre expérimenté
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 384
    Par défaut
    expliques moi lignes par lignes ce que tu fais la stp

    Edit: je repasse dans 5-10 min car tu es encore occupé d'éditer et donc je ne peux pas te répondre si le msg initial change ^^

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 152
    Par défaut
    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
    //renvoie une erreur $heure = dateTime("H:i:s"); ou $heure = new dateTime("H:i:s");
     
    //Je récupère l'heure actuelle au moment T.
    $heure = date("H:i:s");
     
    // J'indique une heure de départ. Par ex 17h20
    $heure_depart = new DateTime("17:20:00"); 
     
    /* Je calcule l'écart entre les 2 heures.
    Donc entre le moment T et 17h20 (qui est antérieur)
    En gros s'il est 18h; j'aimerai qu'il me renvoie les 40 min de différence. */
    $ecart = $heure_depart->diff($heure); 
     
    //J'affiche le résultat
    print_r( $ecart ) ;
    EDIT : VU que c'est pour calculer la différence entre une heure dans la bdd et ensuite insérer la différence dans une colonne de la table, j'ai trouvé la fonction TIMEDIFF en SQL.

    Par contre cela ne fonctionne pas. Je n'ai pas de message d'erreur pourtant...

    Je suis preneur pour une solution, que ce soit php ou sql...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $reponse = $bdd->query('SELECT heure_connexion FROM log_info WHERE date_connexion = CURDATE() AND id_membre = "1"') or die(print_r($bdd->errorInfo()));
     
    //S'il y a une ligne, on execute le code suivant
    while ($donnees = $reponse->fetch())
    {
    $bdd->exec('UPDATE log_info SET temps_connecte = TIMEDIFF(NOW(), "'.$donnees['heure_connexion'].'") WHERE id_membre = "1" AND  date_connexion = CURDATE()') or die(print_r($bdd->errorInfo()));
    }

  6. #6
    Membre expérimenté
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 384
    Par défaut
    j'ai pas mal galéré parce qu'effectivement les date c'est ... )
    mais voici une idée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $date = new DateTime('2000-01-01');
    $date1 = date("H:i:s");
    $date2 = date("H:i:s", strtotime($date));
    $date3 = $date2 - $date1;
    echo  date("Y-m-d H:i:s", $date3);
    EDIT: haa c'est pour les bdd. Il devrait dans ce cas y avoir des fonctions toutes faites.
    Je te laisse chercher si ça ne va pas je chercherai plus tard.

    Edit: https://stackoverflow.com/questions/...te-to-datetime

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

Discussions similaires

  1. [Dates] Différence entre deux heures
    Par covin85 dans le forum Langage
    Réponses: 2
    Dernier message: 26/09/2008, 20h47
  2. Différence entre deux heures en minutes ?
    Par moi&dev dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 27/08/2007, 12h39
  3. problème différence entre deux heures
    Par gwenhael dans le forum Langage
    Réponses: 2
    Dernier message: 14/09/2006, 16h16
  4. Réponses: 7
    Dernier message: 05/07/2006, 17h29
  5. [Dates] Calcul d'une différence entre deux heures
    Par loreleï85 dans le forum Langage
    Réponses: 12
    Dernier message: 28/06/2006, 12h43

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