1

I stuck with one issue, here I would like to compare two dates, but it is giving "NaN". I tried with below code,

<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

Chris Martin
  • 30,334
  • 10
  • 78
  • 137
Rajasekhar
  • 69
  • 8
  • 5
    In your HTML, the `id` of the first input is wrong, should be `id="lpostartDate_1"` (according to your JS) – haim770 Jan 12 '16 at 07:48
  • Possible duplicate of [Compare two dates with JavaScript](http://stackoverflow.com/questions/492994/compare-two-dates-with-javascript) – Amar Singh Jan 12 '16 at 08:04

3 Answers3

1

your start date is #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"/>

so:-

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
BenG
  • 14,826
  • 5
  • 45
  • 60
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);

Your date is in dd-mm-yyyy hh:mm:ss format. Hence your new Date is not working. you need to first convert it into valid date.

undefined_variable
  • 6,180
  • 2
  • 22
  • 37
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);
Jobelle
  • 2,717
  • 1
  • 15
  • 26