日期:2014-05-17  浏览次数:20502 次

求,JS计算日期!
输入参数:年份,第几周。

返回参数:该周起始月日。



比如:

输入参数 年份2012 ,第2周。

返回参数 1月8日 到 1月14日


求实现上述功能的函数。

------解决方案--------------------
第一周和最后一周怎么算?下面的代码只包括当年的日期。如果需要包括前一年/后一年的日期,稍微修改一下也不难
JScript code

        function getStartDateByWeek(year, week) {
            var startDate = new Date();
            startDate.setFullYear(year, 0, 1); //变态的js月份从0开始
            var dayOfWeek = startDate.getDay();
            var count = 0;
            var weekCount = 1;
            if (weekCount === week) {
                return startDate;
            }
            else {
                while (weekCount !== week) {
                    startDate.setDate(startDate.getDate() + 7);
                    weekCount++;
                }
                while (dayOfWeek > 0) {
                    startDate.setDate(startDate.getDate() - 1);
                    dayOfWeek = startDate.getDay();
                }
            }
            return startDate;
        }