function DateAdd(interval, number, date) { switch (interval) { case "y ": { date.setFullYear(date.getFullYear() + number); return date; break; } case "q ": { date.setMonth(date.getMonth() + number * 3); return date; break; } case "m ": { date.setMonth(date.getMonth() + number); return date; break; } case "w ": { date.setDate(date.getDate() + number * 7); return date; break; } case "d ": { date.setDate(date.getDate() + number); return date; break; } case "h ": { date.setHours(date.getHours() + number); return date; break; } case "mi ": { date.setMinutes(date.getMinutes() + number); return date; break; } case "s ": { date.setSeconds(date.getSeconds() + number); return date; break; } default: { date.setDate(d.getDate() + number); return date; break; } }}var now = new Date();// 加五天.var newDate = DateAdd("d ", 5, now);alert(newDate.toLocaleDateString())// 加两个月.newDate = DateAdd("m ", 2, now);alert(newDate.toLocaleDateString())// 加一年newDate = DateAdd("y ", 1, now);alert(newDate.toLocaleDateString())
(原文有重复的参数m,记得修改一下)