Javascript Data Type How to - Get difference between 2 dates








Question

We would like to know how to get difference between 2 dates.

Answer


<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'>
<!--from   w  w w  .  j  a  va  2s  .c o m-->
function dateFromIsoDate(dateString) {
  var parts =  dateString.split('-');
  var dt = new Date(parseInt(parts[2]), parseInt( parts[1], 10) -1, parseInt(parts[0], 10));
  return dt;
}
function getDifferenceInDays(dateString1, dateString2) {
   var dt1 = dateFromIsoDate(dateString1);
   var dt2 = dateFromIsoDate(dateString2);
   return (dt1- dt2) / (60*60*24*1000);    
}
var dt1 = '28-08-2012';
var dt2 = '29-09-2012';
document.writeln('Difference between ', dt1, dt2, getDifferenceInDays(dt1, dt2) );
var dt1 = '31-08-2012';
var dt2 = '1-09-2012';
document.writeln('Difference between ', dt1, dt2, getDifferenceInDays(dt1, dt2) );

</script>
</head>
<body>
</body>
</html>

The code above is rendered as follows: