function DateDiff(strInterval, dtStart, dtEnd) {
var dtStart = new Date(dtStart);
if (isNaN(dtStart)) dtStart = new Date();
var dtEnd = new Date(dtEnd);
if (isNaN(dtEnd)) dtEnd = new Date();
switch (strInterval) {
case "s":return parseInt((dtEnd - dtStart) / 1000);
case "n":return parseInt((dtEnd - dtStart) / 60000);
case "h":return parseInt((dtEnd - dtStart) / 3600000);
case "d":return parseInt((dtEnd - dtStart) / 86400000);
case "w":return parseInt((dtEnd - dtStart) / (86400000 * 7));
case "m":return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
case "y":return dtEnd.getFullYear() - dtStart.getFullYear();
}
}
var dtStart = new Date(dtStart);
if (isNaN(dtStart)) dtStart = new Date();
var dtEnd = new Date(dtEnd);
if (isNaN(dtEnd)) dtEnd = new Date();
switch (strInterval) {
case "s":return parseInt((dtEnd - dtStart) / 1000);
case "n":return parseInt((dtEnd - dtStart) / 60000);
case "h":return parseInt((dtEnd - dtStart) / 3600000);
case "d":return parseInt((dtEnd - dtStart) / 86400000);
case "w":return parseInt((dtEnd - dtStart) / (86400000 * 7));
case "m":return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
case "y":return dtEnd.getFullYear() - dtStart.getFullYear();
}
}