1. 判断是否是闰年
function isLeapYear(eDate) {
var year = eDate.getFullYear();
return (((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400));
}
2. 获取月份的总天数
function getDaysInMonth(eDate) {
var daysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
daysInMonth[1] = isLeapYear(eDate) ? 29 : 28;
return daysInMonth[eDate.getMonth()];
}
3. 给日期加上几个月(如果得到的日期没有这一天,则自动变为当月的最后一天)
function addMonth(eDate, duration) {
var month = eDate.getMonth() + parseInt(duration);
var day = eDate.getDate();
eDate.setDate(1);
eDate.setMonth(month);
var daysInMonth = getDaysInMonth(eDate);
if(day > daysInMonth){
day = daysInMonth;
}
eDate.setDate(day);
return eDate;
}
4. 修改日期
function changeExpiryDate(expDate, duration, durationType){
if(durationType == 2){//Day
expDate.setDate(expDate.getDate()+parseInt(duration));
}else if(durationType == 3){//Week
expDate.setDate(expDate.getDate()+parseInt(duration*7));
}else if(durationType == 4){//Month
expDate = addMonth(expDate.getTime(), duration);
}
}