Come faccio un confronto Date in Javascript?



Answers

new Date('1945/05/09').valueOf() < new Date('2011/05/09').valueOf()
Question

Possibile duplicato:
Confronta 2 date con JavaScript

Mi piacerebbe confrontare due date in javascript. Ho fatto qualche ricerca, ma tutto quello che posso trovare è come restituire la data corrente. Voglio confrontare 2 date separate, non correlate a oggi. Come lo faccio.

var startDate = Date(document.form1.Textbox2);



function fn_DateCompare(DateA, DateB) {     // this function is good for dates > 01/01/1970

    var a = new Date(DateA);
    var b = new Date(DateB);

    var msDateA = Date.UTC(a.getFullYear(), a.getMonth()+1, a.getDate());
    var msDateB = Date.UTC(b.getFullYear(), b.getMonth()+1, b.getDate());

    if (parseFloat(msDateA) < parseFloat(msDateB))
      return -1;  // lt
    else if (parseFloat(msDateA) == parseFloat(msDateB))
      return 0;  // eq
    else if (parseFloat(msDateA) > parseFloat(msDateB))
      return 1;  // gt
    else
      return null;  // error
}



È possibile utilizzare il metodo getTime () su un oggetto Date per ottenere il timestamp (in millisecondi) relativo al 1 ° gennaio 1970. Se si convertono le due date in timbri interi, è possibile confrontare la differenza sottraendole. Il risultato sarà in millisecondi, quindi dividi per 1000 per secondi, poi 60 per minuti, ecc.




Puoi provare questo codice per verificare quale valore di data è il più alto tra due date con un formato MM / GG / AAAA:

function d_check() {
    var dl_sdt=document.getElementIdBy("date_input_Id1").value; //date one
    var dl_endt=document.getElementIdBy("date_input_Id2").value; //date two

    if((dl_sdt.substr(6,4)) > (dl_endt.substr(6,4))) {
        alert("first date is greater");
        return false;
    }

    else if((((dl_sdt.substr(0,2)) > (dl_endt.
        substr(0,2)))&&(frdt(dl_sdt.substr(3,2)) > (dl_endt.substr(3,2))))||
        (((dl_sdt.substr(0,2)) > (dl_endt.substr(0,2)))&&
        ((dl_sdt.substr(3,2)) < (dl_endt.substr(3,2))))||
        (((dl_sdt.substr(0,2)) == (dl_endt.substr(0,2)))&&((dl_sdt.substr(3,2)) > 
        (dl_endt.substr(3,2))))) {
            alert("first date is greater");
        return false;
    }

    alert("second date is digher");
    return true;
}

/ * per verificare questo .... creare un modulo e dare id per due input di data. Il formato della data dovrebbe essere mm / gg / aaaa o mm-gg-aaaa o mm: gg: aaaa o mm.dd.aaaa come questo . * /




Links