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(startDate, duration) { var eDate =wincony.toolkit.DateUtils.parseDateValue(wincony.toolkit.DateUtils.toDateValue(parseInt(startDate))); var month = eDate.getMonth() + parseInt(duration); var day = eDate.getDate(); eDate.setMonth(month); var daysInMonth = getDaysInMonth(eDate); if(day > daysInMonth){ day = daysInMonth; } eDate.setDate(day); return eDate; }