<script>
function getWeekStartDay(y,m,w)
{
var tempD=new Date(y,m-1,1);
return new Date(y,m-1,7*w-6-tempD.getDay())
}function getWeekEndDay(y,m,w)
{
var tempD=new Date(y,m-1,1);
return new Date(y,m-1,7*w+1-tempD.getDay())
}//注:周日是每周的第一天,周六是每周的最后一天
//例如:2005-10-1是周六,所以,这个月的第二周的第一天是2005-10-2日alert("2005年十月第二周始"+getWeekStartDay(2005,10,2));
</script>  

解决方案 »

  1.   

    谢谢jk,不过我还有个问题。打个比方: 一个周包括2005-10-27~~2005-11-02,我想对这个日期进行判断看7天所在的月份,如果哪个月占天数多就算那个月的周,如10月份占4天,我就算这个周是10月份第4周,如果11月份占4田就算这个周为11月份的第一周。反过来也是,按照你上面所说:“//例如:2005-10-1是周六,所以,这个月的第二周的第一天是2005-10-2日”,如果我要算2005-01-1不是不是10月的第一周日期而是9月的第4周日期,10月的第一周应该从2005-01-02算起。这样能实现吗?该怎么实现呢?
      

  2.   

    一楼的代码只是想给个思路,
    如果有自己的逻辑,代码还得自己写。另外的一点想法:如果是想计算工作周,
    建议先建个本公司在本年度的工作日历
    (例如国庆,中秋,公司周年庆等,不同的公司有不同的放假方式)
    然后对照这个工作日历来计算工作周
    而不能简单的用周六周日来作周与周的间隔