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

JavaScript Discussion :

Comparer une date avec la date du jour


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 106
    Points : 71
    Points
    71
    Par défaut Comparer une date avec la date du jour
    Bonjour je veux comparer la date du jour avec une date qui se trouve dans une zone de texte si cette dernière est inférieur strictement à la date du jour je retourne true sinon false.
    voila mon code ça me parait correcte mais pourtant je n'obtiens pas le résultat souhaité
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    function verifdate()
    {
    Nowdate = new Date();
    var dd=document.getElementById("Champdate").value;//format  0000-00-00 aaaa-mm-jj
    var thedate=dd.split('-');
    var an=eval(thedate[0]);
    var mo=eval(thedate[1]);
    var jo=eval(thedate[2]);
    var dd_objet = new Date(an,mo-1,jo);
    if (dd_objet < Nowdate) 
    return true;
    else
    return false;
    }
    Si y'a quelqu'un qui a une idée, je suis preneur
    Merci d'avance à tous
    Cordialement

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    document.getElementByionId("Champdate").value;


    Utilise getTime()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (dd_objet.getTime() < Nowdate.getTime())
    A+.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var an=eval(thedate[0]);
    var mo=eval(thedate[1]);
    var jo=eval(thedate[2]);
    Quelle horreur !

    Il ne faut pas utiliser eval, surtout que là, ça ne sert strictement à rien !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var an=eval(thedate[0]);
    var mo=eval(thedate[1]);
    var jo=eval(thedate[2]);
    Quelle horreur !

    Il ne faut pas utiliser eval, surtout que là, ça ne sert strictement à rien !
    Moi je suis aveuglé par l'ionId

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 106
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonsoir,



    Utilise getTime()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (dd_objet.getTime() < Nowdate.getTime())
    slt même avec gettime() ça marche pas

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    ici, Nowdate vaut le timestamp actuel (heures, minutes et secondes comprises)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var dd_objet = new Date(an,mo-1,jo);
    ici, dd_objet vaut le timestamp sans tenir compte de l'heure, (donc à 0h0mn0s), ce qui explique peut-être ton problème.
    Sinon, tu devras être plus explicite sur ce que signifie
    ça marche pas
    parce que même IE6 arrive à être plus explicite sur les erreurs, c'est pas peu dire
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    As-tu corrigé aussi le getElementById?

    A+.

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 106
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    As-tu corrigé aussi le getElementById?

    A+.
    Oui c'était juste une erreur de frappe

    Citation Envoyé par Bovino Voir le message
    ici, Nowdate vaut le timestamp actuel (heures, minutes et secondes comprises)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var dd_objet = new Date(an,mo-1,jo);
    ici, dd_objet vaut le timestamp sans tenir compte de l'heure, (donc à 0h0mn0s), ce qui explique peut-être ton problème.
    Sinon, tu devras être plus explicite sur ce que signifie

    parce que même IE6 arrive à être plus explicite sur les erreurs, c'est pas peu dire
    j'ai pensé à ce que vous venez de me dire j'ai rectifié le code :
    Code javascript : 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
     
    function verifdate()
    {
    Nowdate = new Date();
    Nowdate.setHours(0);
    Nowdate.setMinutes(0);
    Nowdate.setSeconds(0);
    var dd=document.getElementById("Champdate").value;//format  0000-00-00 aaaa-mm-jj
    var thedate=dd.split('-');
    var an=eval(thedate[0]);
    var mo=eval(thedate[1]);
    var jo=eval(thedate[2]);
    var dd_objet = new Date(an,mo-1,jo);
    if (dd_objet < Nowdate) 
    return true;
    else
    return false;
    }
    mais j'ai toujours le même problème qui est quand je rentre une date égale à la date du jour la fonction retourne true au lieu de false

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Med_be Voir le message
    mais j'ai toujours le même problème qui est quand je rentre une date égale à la date du jour la fonction retourne true au lieu de false
    Fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    alert( dt.toLocaleString() ); 
    alert( Nowdate.toLocaleString() );
    Et tu devrais comprendre d'où vient le problème

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Med_be
    j'ai pensé à ce que vous venez de me dire j'ai rectifié le code
    Il manque les millisecondes
    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
    Nowdate = new Date();
    Nowdate.setHours(0);
    Nowdate.setMinutes(0);
    Nowdate.setSeconds(0);
    Nowdate.setMilliseconds(0);
    var dd=prompt('Entrez une date :');//format  0000-00-00 aaaa-mm-jj
    var thedate=dd.split('-');
    var an=thedate[0];
    var mo=thedate[1];
    var jo=thedate[2];
    var dd_objet = new Date(an,mo-1,jo);
    if (dd_objet < Nowdate) 
    alert('true');
    else
    alert('false');
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 106
    Points : 71
    Points
    71
    Par défaut
    Merci à vous tous ça marche maintenant

  12. #12
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Points : 496
    Points
    496
    Par défaut
    Citation Envoyé par Med_be Voir le message
    Merci à vous tous ça marche maintenant
    setMinutes, setSeconds, setMilliseconds, peuvent être supprimés, si on déclare les 4 parametres de setHours
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    date.setHours(0,0,0,0);

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

Discussions similaires

  1. Comparer une date avec la date du jour
    Par DEV-10 dans le forum Développement
    Réponses: 25
    Dernier message: 11/08/2009, 16h36
  2. Renommer une feuille avec la date du jour
    Par Oh!Tofocus dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 09/08/2007, 08h21
  3. Réponses: 1
    Dernier message: 03/07/2007, 06h43
  4. Réponses: 9
    Dernier message: 14/06/2007, 16h43
  5. [Dates] Comparer une variable avec 2 éléments
    Par oceane751 dans le forum Langage
    Réponses: 14
    Dernier message: 07/01/2007, 17h54

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