var d = new Date();
d.setTime(d.getTime() - (24*60*60*1000));
alert(d.getDate());

解决方案 »

  1.   

    var d=new Date();
    var time=d.getTime();
    time-=24*60*60*1000;
    d.setTime(time);
      

  2.   

    var d = new Date();
    d.setTime(d.getTime() - (24*60*60*1000));
    alert(d.getDate());
      

  3.   

    直接在构造器中把日期减1,遇到负数的时候,会自动回退
      var d = new Date(2005,5,1);
      alert(d)
      var dz=new Date(d.getYear(),d.getMonth(),d.getDate()-1);
      alert(dz)
      

  4.   

    <script>
    var d = new Date();
    d.setTime(d.setDate(d.getDate()-1));alert(d.getYear());
    alert(d.getMonth()+1);
    alert(d.getDate());
    </script>不会发生楼主想象的那种问题! 
    楼主可以测试@_@
      

  5.   

    修改一下:<script>
    var d = new Date();
    d.setDate(d.getDate()-31);alert(d.getYear());
    alert(d.getMonth()+1);
    alert(d.getDate());</script>
      

  6.   

    晕, 又错了<script>
    var d = new Date();
    d.setDate(d.getDate()-1);alert(d.getYear());
    alert(d.getMonth()+1);
    alert(d.getDate());
    </script>
      

  7.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var d = new Date();
    d.setDate(d.getDate()-1);
    alert(d.toString());//-->
    </SCRIPT>
      

  8.   

    日期减去天数等于第二个日期
    <script language=Javascript>
    function cc(dd,dadd)
    {
    //可以加上错误处理
    var a = new Date(dd)
    a = a.valueOf()
    a = a - dadd * 24 * 60 * 60 * 1000
    a = new Date(a)
    alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
    }
    cc("12/23/2002",2)
    </script>
      

  9.   

    var dt = new Date();
    dt.setDate(dt.getDate()-1);
    return dt