/** * @name 日期常用JS帮助类 * @remark 2015-03-11 改为模块化写法 */ var dateHelper = (function(){ /** * 判断是否闰年 * @param strDate,年份 * @return 是否闰年 */ var checkLeapYear = function (strDate) { var year = parseInt(strDate); if(!isNaN(year) && ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)){ return true; } return false; }; /** * 返回两个日期间的差(sDate1-sDate2) * @param sDate1 日期1 * @param sDate2 日期2 * @return (sDate1 - sDate2) */ var dateDiff = function (sDate1, sDate2) { if (sDate1.length > 10) { sDate1 = sDate1.substring(0, 10); } if (sDate2.length > 10) { sDate2 = sDate2.substring(0, 10); } var aDate, oDate1, oDate2, iDays; aDate = sDate1.split("/"); oDate1 = new Date(aDate[0], aDate[1] - 1, aDate[2]); //调用Date的构造函数 aDate = sDate2.split("/"); oDate2 = new Date(aDate[0], aDate[1] - 1, aDate[2]); iDays = parseInt((oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数 return iDays; }; /** * 返回两个日期间的天数间隔(sDate1-sDate2)绝对值 * @param sDate1 日期1 * @param sDate2 日期2 * @return (sDate1 - sDate2)绝对值 */ var dateDiffAbs = function (sDate1, sDate2) { if (sDate1.length > 10) { sDate1 = sDate1.substring(0, 10); } if (sDate2.length > 10) { sDate2 = sDate2.substring(0, 10); } var aDate, oDate1, oDate2, iDays; aDate = sDate1.split("-"); oDate1 = new Date(aDate[0], aDate[1] - 1, aDate[2]); //调用Date的构造函数 aDate = sDate2.split("-"); oDate2 = new Date(aDate[0], aDate[1] - 1, aDate[2]); iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数 return iDays; }; return { checkLeapYear : checkLeapYear, dateDiff : dateDiff, dateDiffAbs : dateDiffAbs } })();