<script>
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 "hh" : {
date.setHours(date.getHours()+number);
return date;
break;
}
case "mm" : {
date.setMinutes(date.getMinutes()+number);
return date;
break;
}
case "ss" : {
date.setSeconds(date.getSeconds()+number);
return date;
break;
}
default : {
date.setDate(d.getDate()+number);
return date;
break;
}
}
}
</script>
这个方法可以实现在一个日期增加N年、N月等,
但有些特殊的日期,如2009-11-30,
如果加上3个月后,结果就是2010-02-30,
但系统会自动转成2010-03-02或2010-03-03。
我想要的是2010年2月的最后一天,这样的特殊日期些我该怎么搞?