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 :

Comparaison de deux dates


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut Comparaison de deux dates
    Bonjour

    Après avoir cherché, je viens pour vous demander quelque chose de banal : comment comparer deux dates en PHP ? En effet, je cherche à comparer la date courante et une date issue de la base de données qui est dans une variable de session.

    Voici les deux derniers codes testés : (j'ai essayé d'autres codes avant)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if($_SESSION['date_cloture_validation_cours']>date("Y-m-d")) {
            echo "Il ne reste plus que ".($_SESSION['date_cloture_validation_cours']>date("Y-m-d"))." jour(s) restant(s)<br />";
    }
    else
    	echo "Trop tard, dépêchez-vous !!!<br />";
    Code php : 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
    $date_courante = date("Y-m-d");
    $date_reference = date("Y-m-d",$_SESSION['date_cloture_validation_cours']);
     
    echo "La date courante est ".$date_courante."<br />";
    echo "La date de référence est <i>(variable de session)</i> ".$date_reference."<br />";
     
    // "Explosion" des variables 
    $temp1 = explode("-", $date_courante);
    $temp2 = explode("-", $date_reference);
     
    $date_courante_1 = $temp1[0].$temp1[1].$temp1[2];
    $date_reference_1 = $temp2[0].$temp2[1].$temp2[2];
     
    if ($date_courante_1>$date_reference_1) {
         echo "Vous êtes en retard, dépêchez-vous !!!";
    }
    else {
         echo "Il ne reste plus que ".($date_courante_1-$date_reference_1)." jour(s) avant la date limite de validation du cours.";
    }

    Avec ce code, ça affiche la bonne date courante, une mauvaise date référence (1970-01-01) et Vous êtes en retard, dépêchez-vous !!!

    En une phrase, comment comparer une date avec le format MySQL avec la date courante ?

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu cherches a comparer deux dates ou a donner le nombre de jours séparant deux dates ?
    Dans ton premier code, tu fais un mélanges de deux.

    Dans les deux cas, interesse toi aux objets Datetime :
    http://fr2.php.net/manual/fr/datetime.diff.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    C'est pour afficher le nombre de jours séparant deux dates.

    C'est bon ça marche, merci. Je met la discussion en RESOLU.

    Pour information, voici le code :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $date_courante = new DateTime(date("Y-m-d"));
    $date_reference = new DateTime($_SESSION['date_cloture_validation_cours']);
    $interval = $date_courante->diff($date_reference);
    if ($date_courante>$date_reference) {
    	echo "Vous êtes en retard, dépêchez-vous !!!";
    }
    else {
    	echo "Il ne reste plus que ".$interval->format('%a')." jour(s).";
    }

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

Discussions similaires

  1. [MySQL] comparaison de deux dates dans un ordre sql
    Par opeo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/03/2007, 14h34
  2. comparaison de deux dates
    Par gloglo dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 16/01/2007, 13h39
  3. Comparaison entre deux dates dans une table
    Par Biskot75 dans le forum Access
    Réponses: 6
    Dernier message: 19/09/2006, 11h16
  4. comparaison de deux dates
    Par colombe dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/07/2006, 18h44
  5. [VB6] Comparaison de deux dates dans une requête
    Par paradeofphp dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/06/2006, 19h45

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