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 :

La validation de date se passe mal [PHP 7]


Sujet :

Langage PHP

  1. #1
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 151
    Points : 3 894
    Points
    3 894
    Billets dans le blog
    1
    Par défaut La validation de date se passe mal
    Bonsoir,
    pour valider une date, j'ai cette méthode :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private function validateDate($date,$the_format='d/m/Y')
        {
            $d=DateTime::createFromFormat($the_format,$date);
            $format2 = $d->format($the_format);
            return $d!==false && $format2===$date;
        }
    En gros, on vérifie que $date est au format de $the_format.
    Mon souci : pour $date = 06/25/2001, j'obtiens $format2 = 06/01/2003. D'où vient ce bug, SVP ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    13 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 13 754
    Points : 31 388
    Points
    31 388
    Par défaut
    D'où vient ce bug, SVP ?
    De toi. Le format de date est invalide : $date = 06/25/2001

    Les fonctions de dates vont corriger le format : 25-12=12 ->06/13/2002 puis 13-12=1 ->06/01/2003.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 151
    Points : 3 894
    Points
    3 894
    Billets dans le blog
    1
    Par défaut
    Merci ; j'ai compris. En fait, pour voir ça, j'ai fait le test avec une date au format US (mm/dd/yyyy) mais j'ai pas pensé que pour que ça marche, il faut aussi modifier le format qu'on passe à la méthode createFromFormat...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

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

Discussions similaires

  1. Validation de dates ?
    Par AsmCode dans le forum C++
    Réponses: 3
    Dernier message: 26/01/2007, 16h24
  2. Réponses: 4
    Dernier message: 02/06/2006, 16h41
  3. [STRUTS][VALIDATOR] Validation de dates
    Par SEMPERE Benjamin dans le forum Struts 1
    Réponses: 16
    Dernier message: 09/09/2005, 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