<script language="JavaScript">
<!--
/*
===========================================
//得到日期年月日等加数字后的日期
===========================================
*/
Date.prototype.dateAdd = function(interval,number)
{
var date = this;    switch(interval)
    {
        case "y" : 
            date.setFullYear(date.getFullYear()+number);
            return date;

        case "q" : 
            date.setMonth(date.getMonth()+number*3);
            return date;        case "m" : 
            date.setMonth(date.getMonth()+number);
            return date;        case "w" : 
            date.setDate(date.getDate()+number*7);
            return date;
        
        case "d" : 
            date.setDate(date.getDate()+number);
            return date;        case "h" : 
            date.setHours(date.getHours()+number);
            return date; case "m" : 
            date.setMinutes(date.getMinutes()+number);
            return date; case "s" : 
            date.setSeconds(date.getSeconds()+number);
            return date;        default : 
            date.setDate(d.getDate()+number);
            return date;
    }
}var d = new Date("2004/12/1");alert(d.dateAdd("d",-6));
//-->
</script>

解决方案 »

  1.   

    function newdate(TemIntY,TemIntM,TemIntD){
    today = new Date();
    if(TemIntY == "" || isNaN(TemIntY) || parseInt(TemIntY) >10 || parseInt(TemIntY) < -10) temyear =today.getFullYear();
    else{temyear = parseInt(today.getFullYear()) + parseInt(TemIntY);}
    if(TemIntM == "" || isNaN(TemIntM)) temmonth = today.getMonth()+1;
    else{today.setMonth(TemIntM);temmonth = today.getMonth()+1;}
    if(TemIntD == "" || isNaN(TemIntD)) temdate = today.getDate();
    else{today.setDate(TemIntD);temdate = today.getDate();}
    if(temmonth < 10) temmonth = "0" + temmonth;
    if(temdate < 10)  temdate  = "0" + temdate;
    return temyear+"-"+ temmonth +"-"+ temdate;
    }
    这是一个在当前日期的基础上加减年月日的,你可以研究一下,
      

  2.   

    function newdate(n){
    var basedate=new Date(2004,10,6);
    var enddate=new Date(n*24*60*60*1000+basedate.getTime());
    return enddate;
    }
    n是天数,为负表示后退的天数,为正表示前进的天数
      

  3.   

    其中new Date(2004,10,6)表示的是2004年11月6日
    js中月份是从0至11来表示的
      

  4.   

    改进了一下,第一个参数是起始日期,要求是Date()类型,第二个是天数
    function newdate(basedate,n){
    var enddate=new Date(n*24*60*60*1000+basedate.getTime());
    alert(enddate.toLocaleString());
    return enddate;
    }
      

  5.   

    还是tianch(晴空)的方法比较实际,
    谢谢大家~~!!