Date difference is not matching

Created for http://stackoverflow.com/q/40487889/2404470

by Kabeer Shah

JavaScript

var date1 = new Date("1/1/2010");
var date2 = new Date("12/31/2010");

var date3 = new Date("1/1/2011");
var date4 = new Date("12/31/2011");

var date5 = new Date("1/1/2010");
var date6 = new Date("12/31/2011");

var diffDays1 = GetDiffDays(date1, date2);
var diffDays2 = GetDiffDays(date3, date4);
var diffDays3 = GetDiffDays(date5, date6);

console.log('No. of days between ' + date1 + ' & ' + date2 + ' are ' + diffDays1);
console.log('No. of days between ' + date3 + ' & ' + date4 + ' are ' + diffDays2);

console.log('However,\nNo. of days between ' + date5 + ' & ' + date6 + ' are ' + diffDays3);

function GetDiffDays(date1, date2) {
  var timeDiff = Math.abs(date2.getTime() - date1.getTime());
  return Math.ceil(timeDiff / (1000 * 3600 * 24));
}