var nowDate=new Date();//得到当前日期
var newDate=new Date(nowDate.getYear,nowDate.getMonth,nowDate.getDay-7);//前七天newDate.getYear;//年
newDate.getMonth;//月
newDate.getDay;//日

解决方案 »

  1.   

    fwqlove(凡林) 没考虑月尾月初day为负的情况么?
      

  2.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function Date.prototype.toString(){
    return this.getFullYear()+"年"+(this.getMonth()+1)+"月"+this.getDate()+"日";
    }
    var d = new Date();
    var d1 = new Date(d-(d.getDay()+1)*86400000);
    var d0 = new Date(d1-6*86400000);
    alert("上周是从"+d0+"到"+d1);
    //-->
    </SCRIPT>
      

  3.   

    emu_ston(祝福后山) 好厉害,可是我想请教一下你代码的意思,你能给我讲解一下么?因为我可能需要或者上星期一至星期五之间的日期,或者这星期1--5的日期,或者下星期1-5的日期,反正就是这些乱七八糟的日期,可是我不明白代码很难改。
    谢谢你啊
      

  4.   

    new Date():今天的日期对象var d1 = new Date(d-(d.getDay()+1)*86400000);
    1 d.getDay()是今天星期几,也就是周日已经过去多久了
    2 d.getDay()+1 上个星期已经过去了几天,也就是上周六已经过去多久了
    3 86400000 一天是24小时×60分钟/小时×60秒/分钟×1000毫秒/秒 = 86400000 毫秒。javascript中时间计算的基本单位是毫秒
    4 d-(d.getDay()+1)*86400000 把当前的时钟往回拨到上周六
    5 new Date(d-(d.getDay()+1)*86400000);构造上周六的日期对象
    var d0 = new Date(d1-6*86400000);
    把时钟从上周六再往回拨6天到上周日
      

  5.   

    <script>
       function gettwo(){
         var ldate=86400000; var td=new Date();
         var tdstart=new Date(td.getTime()-td.getDay()*ldate-ldate);
         var tdend=new Date(tdstart.getTime()-ldate*6);
         return new Array(tdstart,tdend);
       }
       var ret=gettwo();
       alert(ret[0]+"\n"+ret[1]);
    </script>
      

  6.   

    <script>
       function gettwo(step,ns,ne){
       /*
         step 指哪一周  0 是本周  1 是下周 2 下下周  -1 是上周 依此类推
         ns,ne 指弃置日期  例如 1 5 表示 周一到周五
       */
         var ldate=86400000; var td=new Date();
         var dtend=new Date(td.getTime()-td.getDay()*ldate+7*step*ldate+ne*ldate);
         var dtstart=new Date(dtend.getTime()+ns*ldate-ne*ldate);
         return new Array(dtstart,dtend);
       }
       var ret=gettwo(1,1,5); //求下周的周一到周五
       alert(ret[0]+"\n"+ret[1]);
    </script>
      

  7.   

    非常感谢emu_ston(祝福后山)和cxz7531(大花猫)