你已经知道day = today.getDate();可取得当前的“日”
那你就应该知道today.setDate(day)可设置当前“日”当前日期的前一天就是
day = today.getDate(today.setDate(today.getDate()-1))
注意不能简单的today.getDate()-1
因为可能跨月甚至跨年同理,取年、月要在修改“日”以后进行

解决方案 »

  1.   

    function showYesterday(){
        var date = new Date();
        date.setDate(date.getDate()-1);
        var sDate = date.getFullYear()  +"-"+  (date.getMonth()+1)  +"-"+  date.getDate();
        alert(sDate);
    }
      

  2.   

    <script>
      var Yday=new Array(2);
       Yday[0]=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
            Yday[1]=new Array(0,31,29,31,30,31,30,31,31,30,31,30,31);
    function init(){
    var today = new Date(); 
    sYear = today.getYear();
    smonth = today.getMonth()+1;
    sday = today.getDate();
            var yn=0;
            if (sYear%400==0 || sYear%100!=0 && sYear%4==0 )
             yn=1;
            if((smonth==1)&&(sday==1))
            {
              sYear=sYear-1;
              smonth=12;
              sday=31;        }
            else if(sday==1)
            {
                sday=(yn==1)?Yday[1][smonth-1]:Yday[0][smonth-1]
                 smonth=smonth-1        }
            else
            {
             sday=sday-1;

    }  
    alert(sYear+"-"+smonth+"-"+sday);
    }
    init()</script>