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 deux dates en Jours, Heures et Minutes


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Différence entre deux dates en Jours, Heures et Minutes
    Bonjour,

    Je rencontre un soucis avec un tutoriel que j'essaie d'explorer et d'adapter à l'un de mes scripts.

    En utilisant ce bout de code je tombe sur le résultat suivant:
    Il reste 1 jour 11 heures 43 minutes 44 secondes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $DateEvenement = new DateTime('jan 30 00:00:00 2018');
    $DateNow = new DateTime();
     
    $TempsRestant = $DateNow->diff($DateEvenement);
     
    printf("Il reste %s jour %s heures %s minutes %s secondes", $TempsRestant->d, $TempsRestant->h,$TempsRestant->i,$TempsRestant->s);
     
     
    ?>
    Cela viendrait-il du format de la date? j'ai essayé un format différent mais je tombe sur le même résultat 1 jour... et si par exemple je met le 19 Janvier le résultat est 21 jours à partir de la date actuel.
    Je n'arrive pas à faire afficher $DateNow dans un echo...
    Une autre question comment récupérer l'heure et la date du serveur dans $DateNow car avec Time() le code ne fonctionne plus.

    Merci.

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    En fait ça fonctionne très bien.... sauf que dans ton cas tu as oublié de visualiser le nombre de mois. En effet la différence ne retourne pas un nombre de jours, mais un nombre d'années, de mois, de jours, etc...
    Pour voir le contenu de tout et de n'importe quoi en php, il faut utiliser la fonction var_dump.

    Nom : Capture20171228_001.JPG
Affichages : 2969
Taille : 48,7 Ko

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $DateEvenement = new DateTime('jan 30 2018 00:00:00');
    $DateNow = new DateTime();
     
    $TempsRestant = $DateNow->diff($DateEvenement);
     
    printf("Il reste %s mois %s jour %s heures %s minutes %s secondes", $TempsRestant->m, $TempsRestant->d, $TempsRestant->h,$TempsRestant->i,$TempsRestant->s);
     
    var_dump($TempsRestant);
     
    ?>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Il reste 1 mois 1 jour 9 heures 28 minutes 44 secondes
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup badaze, je n'avais effectivement pas pensé au fait que le mois puisse être pris en compte.

    Par contre, J'étais tombé sur le tableau des formats concernant diff() dans le genre: '%d jours'.
    Crois tu qu'il est possible d'obtenir le résultat en Jours, Heures et minutes sans passé par une méthode de calcul et en utilisant des caractères de formats s'il te plait?

  4. #4
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Tu peux faire comme suit.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $DateEvenement = new DateTime('jan 30 2018 00:00:00');
    $DateNow = new DateTime();
     
    $TempsRestant = $DateNow->diff($DateEvenement);
     
    printf("Il reste %s mois %s jour %s heures %s minutes %s secondes", $TempsRestant->m, $TempsRestant->d, $TempsRestant->h,$TempsRestant->i,$TempsRestant->s);
    print "<hr/>"; 
    print  $TempsRestant->format('Il reste %a jours %h heures %i minutes %s secondes');
    ?>
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci énormément Badaze! Cela fonctionne à la perfection.

    Je te et vous souhaite à tous de très bonne fêtes.

  6. #6
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Merci. A toi de même !

    Marque la discussion comme résolue.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

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

Discussions similaires

  1. [11g] Différence entre deux dates (jour et heure)
    Par gerxwcv dans le forum SQL
    Réponses: 8
    Dernier message: 11/10/2013, 13h31
  2. différence entre deux dates en jour
    Par djouk dans le forum Requêtes
    Réponses: 1
    Dernier message: 07/01/2011, 09h11
  3. [AC-2010] Calculer la différence entre deux dates, en jour, dans une requête
    Par Just-Soft dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/10/2010, 02h19
  4. [AC-2007] Requête SQL différence entre deux date en heure
    Par sarah12 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 21/07/2010, 20h58
  5. Réponses: 2
    Dernier message: 21/07/2006, 14h04

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