一个问题用javascript写出来
题目:我得到今天的时间,今天的星期2,选择一个值,是星期3,
怎么利用今天的时间得到2007-12-1到2007-12-30号之间所有的星期3
并且这个2007-12-1到2007-12-30时间范围是可改写的.如有时可以是2007-08-01到2007-12-30之间的时间

解决方案 »

  1.   

    我得到今天的时间,今天的星期2,选择一个值,是星期3, 这样就可以知道星期3是多少号 然后再用(31-今天几号)/7 =有多少个星期 weeks然后
    for(var i=1;i<weeks;i++)
    {
        document.write(今天几号+(weeks*7));
     }
      

  2.   


    <script type="text/javascript">
    //<![CDATA[
    var a=new Date(2007,12,1); var b=new Date(2008,2,30);
    var w=3;var x=daysInterval(a);
    var z=daysInterval(b);for (var i=0; i<=z-x; i++) {
      var l=new Date(); 
      l.setDate(a.getDate()+i);
      if (l.getDay()==w) 
      document.writeln(l.toLocaleString()+" 星期"+l.getDay()+"<br/>")
    }function daysInterval (d) {
      try { return Math.round(Date.parse(d)/3600000/24); } 
      catch (e) { throw "never-online tell you: the date is invalid!" +e; }
    }
    //]]>
    </script>
    </script>
      

  3.   

    var week=2;//1-6对应星期一到星期6,0对于星期天,注意了
    var d1=new Date("2007/08/1");
    var d2=new Date("2007/12/30");
    var str="";
    var d=new Date();
    //=============对时间循环===============
    for(d=d1;d<d2;d.setDate(d.getDate()+1))
    {
      if(d.getDay()==week)//注意月份要加1,因为月份从0开始的
        str+=d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate()+"\n";  
    }
    alert("在时间段内是'"+Week(week)+"'的日期为\n"+str)
    function Week(week)
    {
       switch(week)
       {
         case 0:
           return "星期日";
         case 1:
           return "星期一";
         case 2:
           return "星期二";
         case 3:
           return "星期三";
         case 4:
           return "星期四";
         case 5:
           return "星期五";
         case 6:
           return "星期六";
       }
    }
      

  4.   

    如果俺去了,俺会这么回答!
    L@_@K<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>js.Date.getAllDaysInPeriod.html</title>
        <meta name="generator" content="editplus" />
        <meta name="author" content="Gao YiXiang" />
        <meta name="email" content="[email protected]" />
        <meta name="keywords" content="javascript dhtml dom" />
        <meta name="description" content="I love web development." />
    </head>
    <body>
        <script type="text/javascript">
        <!--
    /*
     * 获取某个时段内给定星期对应的全部日期。
     * dayNumber: 给定星期,0 对应星期天,1-6 对应星期一至星期六。
     * sStart: 起始日期字符串,yyyy-MM-dd 格式。
     * sEnd: 终止日期字符串,yyyy-MM-dd 格式。
     * returnValue: 符合条件的日期数组。
     */
    function getAllDaysInPeriod(dayNumber, sStart, sEnd)
    {
        var startDay = new Date(sStart.replace("-", "/"));
        var endDay = new Date(sEnd.replace("-", "/"));    if (startDay > endDay)
        {
            var temp = startDay;
            startDay = endDay;
            endDay = temp;
        }    var interval = dayNumber - startDay.getDay();
        var givenDay;
        if (interval != 0)
        {
            if (interval < 0) interval += 7;        with(startDay)
            {
                givenDay = new Date(getFullYear(), getMonth(), getDate()+interval);
            }
        }
        else
        {
            firswednesdaytWed = startDay;
        }    var webList = new Array();
        while (givenDay <= endDay)
        {
            webList.push(givenDay);        with(givenDay)
            {
                givenDay = new Date(getFullYear(), getMonth(), getDate()+7);
            }
        }    return webList;
    }// 调用。
    var webList = getAllDaysInPeriod(3, "2008-10-1", "2007-10-30");for (var i in webList)
    {
        // 输出测试,且仅适用中文系统。
        document.write(webList[i].getDay() + " : "+ webList[i].toLocaleString().split(" ")[0], "<br />");
    }    //-->
        </script>
    </body>
    </html>