|
|
/**
|
|
|
* @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
|
|
|
}
|
|
|
})();
|
|
|
|