http://nesta13.javaeye.com/blog/198478

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <SCRIPT LANGUAGE="JavaScript">
    var rtnStr = "";
    function getWeek(){
    var date = new Date(Date.parse("2009" + "/01/01"));
    var day = date.getDay();
    var firstDay = new Date(date.getTime() + (day-7)*24*60*60*1000);
    setStr(firstDay,new Date(firstDay),2009);
    alert(rtnStr)
    }
    function setStr(dates,dates2,year){
    var day1 = dates2;
    var weekday = new Date(dates.getTime() + 7*24*60*60*1000);
    rtnStr += dates2.getYear()+" "+(Number(dates2.getMonth())+1)+" "+dates2.getDate() + " to " ;
    rtnStr += weekday.getYear()+" "+(Number(weekday.getMonth())+1)+" "+weekday.getDate() + "\n";
    if(weekday.getYear() == year){
    setStr(weekday,weekday,year);
    }
    }
      </SCRIPT>
     </HEAD> <BODY onload="getWeek()">
     </BODY>
    </HTML>
    把2009替换成你要输入的年份,就OK了。后边周1没有进行+1天的处理,自己研究吧。主要是要去吃饭了。饿啊,把DAY1那里+1天然后就好了
      

  2.   

    写了一个,应该是你所要的
    <html>
    <head><script>
    var year=2008;
    document.write(GetWeekArray(year).join("<br>"));function GetWeekArray(year)
    {
        var fd = new Date(year,0,1)
        var fday = fd.getDay();
        var chr = "-";
        var weeks = [];
        fd.setDate(-fday+2);
        var t = null;
        while(fd.getFullYear()!=year+1)
        {
            t = fd;
            weeks.push(fd.getFullDateStr()+"至"+(new Date(fd.setDate(fd.getDate()+6))).getFullDateStr());
            fd.setDate(fd.getDate()+1);
        }
        return weeks;}function Date.prototype.getFullDateStr()
    {
        var chr = "-";
        return this.getFullYear()+chr+(this.getMonth()+1)+chr+this.getDate();
    }</script>
    </head>
    <body></body>
    </html>
      

  3.   

    t变量没用到,可以去掉
    <script>
    var year=2008;
    document.write(GetWeekArray(year).join("<br>"));function GetWeekArray(year)
    {
        var fd = new Date(year,0,1)
        var fday = fd.getDay();
        var chr = "-";
        var weeks = [];
        fd.setDate(-fday+2);
        while(fd.getFullYear()!=year+1)
        {
            weeks.push(fd.getFullDateStr()+"至"+(new Date(fd.setDate(fd.getDate()+6))).getFullDateStr());
            fd.setDate(fd.getDate()+1);
        }
        return weeks;}function Date.prototype.getFullDateStr()
    {
        var chr = "-";
        return this.getFullYear()+chr+(this.getMonth()+1)+chr+this.getDate();
    }</script>
      

  4.   


    <script type="text/javascript">
    function getdate()
    {
    var begindate;
    var lastdate;
    var date1;
    var week=document.getElementById("week").value;
    if(week<1 ||week>53)
    alert("你输入的数字超出范围");
    else{
    var date=new Date();
    var year=date.getYear()+1900;
    date1=new Date(year,0,1+(week-1)*7);
    if(date1==0)
    {
    begindate=date1;
    lastdate=new Date(date1.getTime()+7*24*60*60*1000)
    }
    else{
    begindate=new Date(date1.getTime()-(date1.getDay()-1)*24*60*60*1000);
    lastdate=new Date(date1.getTime()+(7-date1.getDay())*24*60*60*1000);
    }
    }
    document.getElementById("begin").value=(parseInt(begindate.getYear())+1900)+"-"+(parseInt(begindate.getMonth())+1)+"-"+begindate.getDate();
    document.getElementById("last").value=(parseInt(lastdate.getYear())+1900)+"-"+(parseInt(lastdate.getMonth())+1)+"-"+lastdate.getDate();
    }
    </script>
    </head>
    <body>
    第<input type="text" size="5" id="week" onblur="getdate()" />周的范围:<input type="text" id="begin" size="15" />至<input type="text" size="15" id="last" />
    </body>
    </html>
    试试
      

  5.   

    <script type="text/javascript"> function getdate() { var begindate; var lastdate; var date1; var week=document.getElementById("week").value; if(week<1 ||week>53) alert("你输入的数字超出范围"); else{ var date=new Date(); var year=date.getYear()+1900; date1=new Date(year,0,1+(week-1)*7); if(date1==0) { begindate=date1; lastdate=new Date(date1.getTime()+7*24*60*60*1000) } else{ begindate=new Date(date1.getTime()-(date1.getDay()-1)*24*60*60*1000); lastdate=new Date(date1.getTime()+(7-date1.getDay())*24*60*60*1000); } } document.getElementById("begin").value=(parseInt(begindate.getYear())+1900)+"-"+(parseInt(begindate.getMonth())+1)+"-"+begindate.getDate(); document.getElementById("last").value=(parseInt(lastdate.getYear())+1900)+"-"+(parseInt(lastdate.getMonth())+1)+"-"+lastdate.getDate(); } </script> </head> <body> 第<input type="text" size="5" id="week" onblur="getdate()" />周的范围:<input type="text" id="begin" size="15" />至<input type="text" size="15" id="last" /> </body> </html>