0

フォーマットに2つの日付が14-May-2013あり、15-Jun-2013

この 2 つの日付を比較するにはどうすればよいですか?

これは私が持っているコードですが、うまく機能していないようです。

if (col == 8 && m == 2) {
    var firstValue = document.getElementById(tableID+m+""+6).innerHTML.split('-');
    var secondValue = document.getElementById(tableID+m+""+7).innerHTML.split('-');

    var firstDate=new Date();
    firstDate.setFullYear(firstValue[0],firstValue[1], firstValue[2]);

    var secondDate=new Date();
    secondDate.setFullYear(secondValue[0],secondValue[1], secondValue[2]);     

    if (firstDate < secondDate) 
    {
        alert("First Date  is less than Second Date");
    }
    else
    {
        alert("Second Date  is less than First Date");
    }   
}

私は何を間違っていますか?どうすれば正しく動作しますか?

ありがとう!

4

3 に答える 3

2

フォーマット14-May-201315-Jun-2013

firstDate.setFullYear(firstValue[0],firstValue[1], firstValue[2]);

私は何を間違っていますか?

setFullYear月の名前や略語は使用しません。最初に月番号を取得するには、日付形式を解析する必要があります。

function parse(str) {
    var vals = str.split('-');
    return new Date(
        +vals[0],
        ["jan","feb","mar","apr","may","jun","jul","aug","sep",
         "oct","nov","dez"].indexOf(vals[1].toLowerCase()),
        +vals[2]
    );
}
var firstDate = parse(document.getElementById(tableID+m+""+6).innerHTML)
var secondDate = parse(document.getElementById(tableID+m+""+7).innerHTML);
if (firstDate < secondDate) {
    alert("First Date  is less than Second Date");
} else {
    alert("Second Date  is less than or equal to First Date");
}
于 2013-06-10T15:08:17.667 に答える