Come faccio un confronto Date in Javascript?



3 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);



È 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.




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
}



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 . * /




Related