Javascript : controle date1 < date2

Bonjour,

je cherche un script qui controle que ma date de debut est bien inférieure à ma date de fin.

Attention, ma date est au format dd/mm/aaaa !!!

Merci D'avance

..::: ZIG1 :::..

1 réponse

  1. Au cas où quelqu'un se poserait la même question que moi voici un code developpé par ma pomme donc un peu long et certaienement améliorable

    function test(){
    var StartDate = document.forms[0].Start.value.split("/");
    var EndDate = document.forms[0].End.value.split("/");
    var annee1 = StartDate[2];
    var annee2 = EndDate[2];
    var mois1 = StartDate[1];
    var mois2 = EndDate[1];
    var jours1 = StartDate[0];
    var jours2 = EndDate[0];

    if(jours1<jours2)
    {
    if(mois1<mois2)
    {
    if(annee1<annee2)
    {
    return true;
    }
    else if(annee1==annee2)
    {
    return true;
    }
    else if(annee1>annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    }
    else if(mois1==mois2)
    {
    if(annee1<annee2)
    {
    return true;
    }
    else if(annee1==annee2)
    {
    return true;
    }
    else if(annee1>annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    }
    else if(mois1>mois2)
    {
    if(annee1<annee2)
    {
    return true;
    }
    else if(annee1==annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    else if(annee1>annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    }
    }
    else if(jours1==jours2)
    {
    if(mois1<mois2)
    {
    if(annee1<annee2)
    {
    return true;
    }
    else if(annee1==annee2)
    {
    return true;
    }
    else if(annee1>annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    }
    else if(mois1==mois2)
    {
    if(annee1<annee2)
    {
    return true;
    }
    else if(annee1==annee2)
    {
    alert("la date de fin ne doit pas être la même que celle du début");
    return false;
    }
    else if(annee1>annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    }
    else if(mois1>mois2)
    {
    if(annee1<annee2)
    {
    return true;
    }
    else if(annee1==annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    else if(annee1>annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    }
    }
    else if(jours1>jours2)
    {
    if(mois1<mois2)
    {
    if(annee1<aannee2)
    {
    return true;
    }
    else if(annee1==annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    else if(annee1>annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    }
    else if(mois1==mois2)
    {
    if(annee1<annee2)
    {
    return true;
    }
    else if(annee1==annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    else if(annee1>annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    }
    else if(mois1>mois2)
    {
    if(annee1<annee2)
    {
    return true;
    }
    else if(annee1==annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    else if(annee1>annee2)
    {
    alert("la date de fin doit être supérieure à la date de début");
    return false;
    }
    }
    }
    }
    0
    1. var amj1 = StartDate[2]*10000+StartDate[1]*100+StartDate[0];
      var amj2 = EndDate[2]*10000+EndDate[1]*100+EndDate[0];
      if ( amj1 > amj2 ) .....
      0