Javascript Date Differences
by Diya_Khan
JavaScript
function getTimeDiff(date1,date2,diffOption)
{
var diff = Math.abs(date1 - date2);
switch(diffOption)
{
case 'years':
return yearsDiff(date1,date2);
break;
case 'months':
return monthDiff(date1,date2);
break;
case 'days':
return daysDiff(date1,date2);
break;
case 'hours':
return hoursDiff(date1,date2);
default:
return diff;
break;
}
};
function yearsDiff(date1,date2)
{
var diff = Math.abs(date1 - date2);
var years = Math.floor(diff / 1000 / 60 / 60 / 24 / 365);
return years;
};
function monthDiff(date1, date2) {
var months;
months = (date2.getFullYear() - date1.getFullYear()) * 12;
months -= date1.getMonth();
months += date2.getMonth();
return months;
};
function daysDiff(date1,date2){
var diff = Math.abs(date1 - date2);
var days = Math.round(diff / 1000 / 60 / 60 / 24);
return days;
};
function hoursDiff(date1,date2)
{
var diff = Math.abs(date1 - date2);
var hours = Math.round(diff/3600/1000);
return hours;
};
var d1 = new Date(2011, 01, 01 , 01, 00, 00, 0000);
var d2 = new Date(2011, 02, 01, 01, 00, 00, 0000);
document.write('<br/> Start Date: ' + d1);
document.write('<br/> End Date: ' + d2);
document.write('<br/> Time Diff: ' + getTimeDiff(d1,d2));
document.write('<br/> Years Diff: ' + getTimeDiff(d1,d2,'years'));
document.write('<br/> Month Diff: ' + getTimeDiff(d1,d2,'months'));
document.write('<br/> Days Diff: ' + getTimeDiff(d1,d2,'days'));
document.write('<br/> Hours Diff: ' + getTimeDiff(d1,d2,'hours'));