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 :

comparaison date système date utilisateur


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 61
    Points
    61
    Par défaut comparaison date système date utilisateur
    Salut,

    voila je coince pour comparer 2 dates dans ce format :

    M/AAAA 7/2009

    En fait j'ai un champ date ou l'utilisateur renseigne une date dans ce format :

    07/2009

    Et je souhaite faire un filtre pour comprer la date rentrée par l'utilisateur et celle du jour avec mois+1

    Exemple :

    la date du jour (date système ou je récupère le mois+1 et l'année pour l'avoir dans ce format ) donc ici la date du jour avec mois+1 est 8/2009

    la date renseigner par l'utilisateur : 07/2009

    puis après transformation dans ma fonction cela devient 7/2009

    Si la date renseignée par l'utilisateur est inférieur à celle du système alors j'affiche un message d'erreur date invalide.

    Voila j'ai commencé avec cela je récupère mes deux dates dans ce format m/aaaa mais après je bloque pour la comparaison :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function dateDebut() {
    // date du jour
    var DateJour=new Date()
    var mois =DateJour.getMonth()+2
    var annee =DateJour.getFullYear()
    var dateJ = (mois)+"/"+(annee)
    // date renseignée par l'utilisateur
    var dateD = document.forms["saisie_avk"].elements["Date_Deb_Validite"].value
    var DateD = dateD.replace(/0(\d\/)/,"$1")


    Merci

  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
    Salut,
    Tu peux voir comment comparer 2 date
    http://javascript.developpez.com/faq...dates.comparer

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    avec le format M/AAAA il te suffirati de faire un split('/') puis replace du 0 sur M et un reverse join pour que les chaine deviennent comparables

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Pour l'instant avec mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var DateJour=new Date()
    var mois =DateJour.getMonth()+2
    var annee =DateJour.getFullYear()
    var dateJ = (mois)+"/"+(annee)
    document.write(dateJ)
    document.write("<br>")
    // date renseignée par l'utilisateur
    var dateD = "10/2009"
    // document.forms["saisie_avk"].elements["Date_Deb_Validite"].value
    var DateD = dateD.replace(/0(\d\/)/,"$1") 
    document.write(DateD)
    j'ai ceci en résultat :

    date système : 8/2009

    date début champ : 6/2009

    Maintenant comment je peux faire pour comparer mes deux dates ?

    Si date début champ < date système alors message erreur votre date de début doit être supérieure ou egale à la date système


    Merci

  5. #5
    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
    avec le format M/AAAA il te suffirati de faire un split('/') puis replace du 0 sur M et un reverse join pour que les chaine deviennent comparables

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // date renseignée par l'utilisateur
    var dateD = "01/2009";
    var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
     
    //date de référence
    var dateR = "03/2009";
    var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
    var test=(DateR>DateD)?"antérieure":"postérieure";
    var test=(DateR==DateD)?"égale à":test;
    alert("la date saisie est "+test+" à la date de référence");

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Merci SpaceFrog,

    j'ai modifié un peu le code par rapport à mon besoin car mes dates ne sont pas en dures. j'utilise une date système et l'autre date est récupérée d'un champ.

    Le problème c'est que quand je rentre une date par exemple :

    Date système = 08/2009
    date début champ = 02/2010

    mon message m'affiche que la date est antérieure à la date de référence !!!
    Alors que normalement elle devrait être postérieure.....

    voici le code complet :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <html>
    <head>
    <SCRIPT language=javascript>
     
     
    // date renseignée par l'utilisateur
    function dateDebut() {
    var dateD = document.forms["saisie_avk"].elements["Date_Deb_Validite"].value;
    var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').join('');
    document.write(DateD)
    document.write("<br>")
    //date du système
    var DateJour=new Date()
    var mois =DateJour.getMonth()+2
    var annee =DateJour.getFullYear()
    var dateR = (mois)+"/"+(annee)
    var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
    var test=(DateR>DateD)?"antérieure":"postérieure";
    var test=(DateR==DateD)?"égale à":test;
    alert("la date de début est "+test+" à la date de référence, veuillez ressaisir une date valide");
     
    }
     
    </script>
    <body>
    <form method="post" action=""  name="saisie_avk" >
    <td width="300">	
    			<font   size ="2"><b><font color="red">*</font>
    						AVK : Date de début de validité (mm/aaaa)
    					</b></font><input  name="Date_Deb_Validite"  id="dte_deb_validite"  size=10 maxlength=7   onchange="dateDebut(this.form.Date_Deb_Validite)" >
    				    </td>
    </form>
    </body>
    </head>
    </html>
    merci encore

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    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
    <script type="text/javascript" >
     
    // date renseignée par l'utilisateur
    var dateD = "02/2010";
    var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
     
    //date de référence
    var dateR = "08/2009";
    var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
    var test=(DateR>DateD)?"antérieure":"postérieure";
    var test=(DateR==DateD)?"égale à":test;
     
    alert("la date saisie est "+test+" à la date de référence");
    </script>
    j'ai bien postérieure ... ton adaptation est boiteuse...

    évites le document.write ...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Merci SpaceFrog,

    j'ai modifié un peu le code par rapport à mon besoin car mes dates ne sont pas en dures. j'utilise une date système et l'autre date est récupérée d'un champ.

    Le problème c'est que quand je rentre une date par exemple :

    Date système = 08/2009
    date début champ = 02/2010

    mon message m'affiche que la date est antérieure à la date de référence !!!
    Alors que normalement elle devrait être postérieure.....

    voici le code complet :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <html>
    <head>
    <SCRIPT language=javascript>
     
     
    // date renseignée par l'utilisateur
    function dateDebut() {
    var dateD = document.forms["saisie_avk"].elements["Date_Deb_Validite"].value;
    var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').join('');
    document.write(DateD)
    document.write("<br>")
    //date du système
    var DateJour=new Date()
    var mois =DateJour.getMonth()+2
    var annee =DateJour.getFullYear()
    var dateR = (mois)+"/"+(annee)
    var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
    var test=(DateR>DateD)?"antérieure":"postérieure";
    var test=(DateR==DateD)?"égale à":test;
    alert("la date de début est "+test+" à la date de référence, veuillez ressaisir une date valide");
     
    }
     
    </script>
    <body>
    <form method="post" action=""  name="saisie_avk" >
    <td width="300">	
    			<font   size ="2"><b><font color="red">*</font>
    						AVK : Date de début de validité (mm/aaaa)
    					</b></font><input  name="Date_Deb_Validite"  id="dte_deb_validite"  size=10 maxlength=7   onchange="dateDebut(this.form.Date_Deb_Validite)" >
    				    </td>
    </form>
    </body>
    </head>
    </html>
    merci encore

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    En fait

    voila moi je souhaite utiliser la date système comme date de référence.

    j'utilise donc new date()

    puis j'utilise getMonth() et getFullYear() pour récupérer le mois et l'année et enfin je concatène le tout.

    Donc j'obtiens une date dans ce format : 8/2009

    Puis j'utilise ta fonction replace pour mettre ma date dans ce format :

    082009


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ar DateJour=new Date()
    var mois =DateJour.getMonth()+2
    var annee =DateJour.getFullYear()
    var dateR = (mois)+"/"+(annee)
    mais le problème c'est que ma date de début est au format 201002 donc cela pose un problème pour les comparer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
    Donc en fait il me faut transformer ma date de référence 082009 en 200908 pour que la comparaison fonctionne

    mais comment faire car ta fonction replace me rajoute bien le 0 dans mon mois mais me sort le résultat sous cette forme 082009 alors qu'il me faut 200908

    Merci d'avance

  11. #11
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir SpaceFrog.

    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script type="text/javascript" >
     
    // date renseignée par l'utilisateur
    var dateD = "02/2010";
    var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
     
    //date de référence
    var dateR = "08/2009";
    var DateR = dateR.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
    var test=(DateR>DateD)?"antérieure":"postérieure";
    var test=(DateR==DateD)?"égale à":test;
     
    alert("la date saisie est "+test+" à la date de référence");
    </script>
    Comme je ne suis pas expert avec les RegExp, j'aime décortiquer des exemples. Celui-ci est parfaitement fonctionnel, mais à quoi sert le replace dans ce cas, j'ai le même résultat sans lui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    console.log(dateD.split('/').reverse().join(''));
     
    var DateD = dateD.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
    Deuxième question sur replace(/^(\d)\//,"0$1") je pensai qu'il fallait écrire replace(/^(\d)\//,"$1") ou par exemple : replace(/^(\d)([A-Za-z])/,"$1, $2") ; à quoi sert le zéro ?

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    tu as le meêm resultat parceque les deux dates prises en exemple commencent par 0
    essaye un mois à partir de octobre et un autre avant ...

    pour ce qui est de l'année ... 1002 essaye avec getUTCFullYear

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Salut SpaceFrog,

    non mais en fait je veux juste transformé ce format : 082009 EN 200908....

    Y a t il une fonction ?

    Merci

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    a ton avis il fait quoi mon scipt ?

    il transforme comme ceci:

    3/2008 => 03/2008 =>200803
    07/2009 => 07/2009 => 200907
    10/2005 > 10/2005 => 200510

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Désolé mais je viens de tester eh voila le résultat :

    si j'ai bien compris j'ai rentré une date

    j'utilise ta fonction qui transforme la date en rajoutant un 0 pour le mois et doit inverser la date.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var DateR = d.replace(/^(\d)\//,"0$1").split('/').reverse().join('');

    Normalement d'après toi cela devrait donner :

    3/2009 => 03/2009 => 200903

    sauf que moi cela me donne :

    032009


    Voici le code pour tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script> 
    date = "3/2009"
    var DateR = d.replace(/^(\d)\//,"0$1").split('/').reverse().join('');
    document.write("<br>")
    document.write(DateR);
    </script>
    Désolé pour le dérangement.....

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    date=
    puis d.replace

    si tu ne remplace pas dans la bonne variable pas étonnant

    par contre si tu utilises les bonnes variables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <script type='text/javascript'>
    d = "3/2009"
    alert(d.replace(/^(\d)\//,"0$1").split('/').reverse().join(''));
    </script>

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Oui désolé j'avais vu pour la variable,

    oui mais j'ai toujours mon problème :

    Cela me donne 032009 alors que je souhaite 200903


    merci

  18. #18
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonjour SpaceFrog.

    Merci, je crois avoir bien compris maintenant.

    J'ai fait une petite modification dans le replace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    replace(/^(\d)\//,"0$1/")
    et je crois que c'est ce qui trouble bambino13.

    Voici mon test :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    	<meta name="Author" content="Daniel Hagnoul" />
    	<title>Page type</title>
    	<style type="text/css">
    		body {
    			background-color:#696969;
    			color:#000000;
    			font-family:Arial, Helvetica, sans-serif;
    			font-size:medium;
    			font-style:normal;
    			font-weight:normal;
    			line-height:normal;
    			letter-spacing:normal;
    		}
    		h1,h2,h3,h4,h5 {
    			font-family:"Times New Roman", Times, serif;
    		}
    		div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img {
    			margin:0px;
    			padding:0px;
    		}
    		p {
    			padding:6px;
    		}
    		ul,ol,dl {
    			list-style:none;
    			padding-left:6px;
    			padding-top:6px;
    		}
    		li {
    			padding-bottom:6px;
    		}
    		div#conteneur {
    			width:95%;
    			margin:12px auto;
    			padding:6px;
    			background-color:#FFFFFF;
    			color:#000000;
    			border:1px solid #666666;
    			font-size:0.8em;
    		}
    		div#affiche {
    			margin:12px;
    			border:1px solid #999999;
    		}
    	</style>
    	<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></script>
    	<script type="text/javascript">
    		$(document).ready(function(){
    			var dates = ["1/2009","2/2009","3/2009","4/2009","5/2009","6/2009","7/2009","8/2009","10/2009","11/2009","12/2009"];
    			var dlength = dates.length;
     
    			for (var i in dates) {
    				// date renseignée par l'utilisateur
    				var dateD = dates[i];
     
    				var DateD = dateD.replace(/^(\d)\//,"0$1/").split('/').reverse().join('');
     
    				//date de référence
    				var dateR = "10/2009";
     
    				var DateR = dateR.replace(/^(\d)\//,"0$1/").split('/').reverse().join('');
     
    				var test=(DateR>DateD)?"antérieure":"postérieure";
    				var test=(DateR==DateD)?"égale à":test;
     
    				//alert("la date saisie est "+test+" à la date de référence");	
     
    				$("#affiche").append("<p>La date saisie " + DateD + " est " + test + " à la date de référence " + DateR + ".</p>");
    			}
    		});
    	</script>
    </head>
    <body>
    	<div id="conteneur">
    		<p>
    			Le code transforme comme ceci :<br />
    			<br />
    			3/2008 => 03/2008 =>200803<br />
    			07/2009 => 07/2009 => 200907<br />
    			10/2005 > 10/2005 => 200510
    		</p>
    		<div id="affiche"></div>
    	</div>
    </body>
    </html>

  19. #19
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    a priori un petit souci avec le regExp sous js ...

    celle ci sera plus universelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(d.replace(/^(\d\/)/,"0$1").split('/').reverse().join(''));
    j'avais simpleemnt oublié d'inclure le / dans le remplacement

    d'ailleurs ceci aussi fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    d.replace(/^(\d)\//,"0$1/").split('/').reverse().join('');

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Merciiiiiiiiiiiiii à vous deux ça fonctionne........................


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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/03/2012, 01h00
  2. Réponses: 5
    Dernier message: 08/07/2011, 11h09
  3. [MySQL] comparaison d'une date avec la date système
    Par kawther dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/12/2007, 03h05
  4. [DB2] - Comparer une date à la date système
    Par rémi_tounul dans le forum DB2
    Réponses: 3
    Dernier message: 19/05/2005, 11h45
  5. comparaison de 2 dates
    Par eisti dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2003, 11h33

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