I am trying to get a difference in Month, Date, Hour, Minute and Second between two dates in JavaScript.
I know that we can get a date difference in millisecond and already tried as follows:
function showtime() {
var date1 = new Date('7/14/2010 6:21:00');
var date2 = new Date('12/15/2010 7:25:10');
var diffTime = parseInt(date2 - date1);
var diffMonth = Math.floor(diffTime / (1000 * 60 * 60 * 24 * 30));
var diffDays = Math.floor((diffTime / (1000 * 60 * 60 * 24)) - (diffMonth * 30));
var diffHour = Math.floor((diffTime / (1000 * 60 * 60)) - (diffMonth * 30 * 24) - (diffDays * 24))
var diffMinute = Math.floor((diffTime / (1000 * 60)) - (diffMonth * 60 * 30 * 24) - (diffDays * 60 * 24) - (diffHour * 60))
var diffSec = Math.floor((diffTime / (1000)) - (diffMonth * 60 * 60 * 30 * 24) - (diffDays * 60 * 60 * 24) - (diffHour * 60 * 60) - (diffMinute * 60))
var result = (diffMonth + ' Month ' + diffDays + ' Days ' + diffHour + ' Hours ' + diffMinute + ' Minutes ' + diffSec + ' Sec' );
return result;
}
But the above function cannot calculate the exact days and months. Any help would be appreciated.