日期比较返回" NaN"

时间:2016-01-12 07:45:18

标签: jquery

我坚持一个问题,在这里我想比较两个日期,但是它给了" NaN"。我试过下面的代码,

<input type="text" value="10-10-2015 20:00:08" id="startDateVal"/>
<input type="text" value="11-10-2015 23:00:10" id="lpoendDate_1"/>
var startDateVal = $("#lpoendDate_1").val().replace(/-/gi,'/');

var endDateVal = $("#lpostartDate_1").val().replace(/-/gi,'/');

var testresult = (new Date(endDateVal) - new Date(startDateVal) ) / 1000 / 60 / 60;

alert(testresult);

Fiddle

3 个答案:

答案 0 :(得分:1)

您的开始日期为#startDateVal

<input type="text" value="10-10-2015 20:00:08" id="startDateVal"/>
<input type="text" value="11-10-2015 23:00:10" id="lpoendDate_1"/>

所以: -

var startDateVal = $("#startDateVal").val()
var  endDateVal= $("#lpoendDate_1").val()

var testresult = (new Date(endDateVal) - new Date(startDateVal) ) / 1000 / 60 / 60;

console.log(testresult); // 748.0005555555556

答案 1 :(得分:0)

var startDateVal = $("#startDateVal").val().split(/-|\s|:/);
var  endDateVal= $("#lpoendDate_1").val().split(/-|\s|:/);
var testresult = ((new Date(endDateVal[2],endDateVal[1],endDateVal[0],endDateVal[3],endDateVal[4],endDateVal[5])) -(new Date(startDateVal[2],startDateVal[1],startDateVal[0],startDateVal[3],startDateVal[4],startDateVal[5])) ) / 1000 / 60 / 60;

alert(testresult);

你的日期是dd-mm-yyyy hh:mm:ss格式。因此,您的新日期不起作用。 您需要先将其转换为有效日期。

答案 2 :(得分:0)

 var endDateVal = $("#lpoendDate_1").val().split(/-|\s|:/);
    endDateVal = new Date(endDateVal[2], endDateVal[1], endDateVal[0], endDateVal[3], endDateVal[4], endDateVal[5]);
    var startDateVal = $("#startDateVal").val().split(/-|\s|:/);
    startDateVal = new Date(startDateVal[2], startDateVal[1], startDateVal[0], startDateVal[3], startDateVal[4], startDateVal[5]);
    var testresult = (endDateVal - startDateVal) / 1000 / 60 / 60;

    alert(testresult);