如何写一个js函数,例如: 我想知道2013年6月第3周的起止日期?
传入参数是 某年某月第几周  得到起止日期js函数 某周的起止日期

解决方案 »

  1.   

    <script type="text/javascript">
    function weekDate(ym,n){
        var d=new Date(ym.replace(/-/,"/")+"/1");//获取每个月的1号日期
        var b=new Date(d.getTime()+((n-1)*7-d.getDay())*1000*60*60*24);
        //new Date(d-d.getDay())得到本月第一周开始日期,又因一周为7天+(n-1)*7即可得到第n周后的开始日期
        return b.getFullYear()+ "-" + (b.getMonth()+1) + "-" + b.getDate();
    }
    alert(weekDate("2013-10",3));
    alert(weekDate("2013/9",3));
    </script>
      

  2.   

    每周从周1算开始function getMWD(y,m,w){
    var d=new Date([y,m,1].join('/'));
    var day= (d.getDay()||7)-1;
      var d1,d2
    if(w-1){
     w=w-2;
     w=w<0?0:w
     d1=new Date(  d*1+ ( (7-day)+w*7 )*864E5    )
    d2=new Date(  d1*1+ 6*864E5    )
    }else{
    d1=d;
    d2=new Date(  d1*1+ (6-day)*864E5    )
    }
    return [fmt(d1), fmt(d2)];
    function fmt(d){ return d.toLocaleDateString().match(/\d+/g).join('-') }

     
    var w=getMWD(2013,6,3);
    alert( w  )
      

  3.   

     这个 用sql语句非常简单的
      

  4.   

    function weekDate(ym,n){
      n =(n-1)*7+1;
      var d = new Date((ym + '/' + n).replace(/-/, '/'));
      d.setDate(d.getDate() - d.getDay());
      return (d.toLocaleDateString().match(/\d+/g).join('-'));
    }