<script language="javascript">
var d=new Date(2004,7,30-30);
document.write(d.getYear()+"-"+d.getMonth()+"-"+d.getDate());
</script>

解决方案 »

  1.   

    <script language="javascript">
    var d=new Date(2004,7,30-30);
    document.write(d.getYear()+"-"+d.getMonth()+"-"+d.getDate());
    </script>
    这样得到的是6月31日
    但没有考虑到6月没有31日啊,希望能有考虑到的代码,谢谢
      

  2.   

    这样就行了.<script language="javascript">
        var d=new Date(2004,7,30); 
        d.setDate(d.getDate()-30);
        document.write(d.getYear()+"-"+(d.getMonth()+1)+"-"+d.getDate());
    </script>

    DateAdd("d",-30,'2001-12-21')
    这是VBScript的函数.
      

  3.   

    js里面用getdate()方法来得到日期,可以将其先转换为unix时间之后,再加上30天所点用的秒数,就可以了。
      

  4.   

    <script language="JScript">
    alert(new Date(new Date() - 30 * 24 * 3600 * 1000).toLocaleString());
    </script>
      

  5.   

    上面是得到当天 - 30天的日期按楼主题意,现详细解释如下:
    var inputDate = new Date(v); // v 是你输入的日期字符串(格式: yyyy/mm/dd),先构造一个日期对象count是要减去的天数, newDate得到减去后的日期
    var newDate = new Date(inputDate - count * 24 * 3600 * 1000);
      

  6.   

    <SCRIPT LANGUAGE=javascript>
    alert(addDay(-30,1));
    alert(addDay(-30,2));
    alert(addDay(-30,3));
    alert(addDay(-30,0));function addDay(days,n)
    {
    //函数说明:days日期差,n代表如下含义。 
    var my_date_ago=new Date(new Date() - days * 24 * 60 * 60 * 1000 * -1);//days天的日期
    switch (n)
    {
    case 1:
    //返回年
    return(my_date_ago.getFullYear());
    break;
    case 2: 
    //返回月
    return(my_date_ago.getMonth()+1);
    break;
    case 3: 
    //返回日
    return(my_date_ago.getDate());
    break;
    default : 
    //返回全部
    return(my_date_ago.getFullYear() + "-" + (my_date_ago.getMonth()+1) + "-" + my_date_ago.getDate());
    break;
    }  
    }
     </SCRIPT>
      

  7.   

    给我邮箱,我给你发一个我写的扩展了JavaScript的Date类的文件。