获取本月第几周的方法:
1 var getMonthWeek = function (a, b, c) { 2 /** 3 * a = d = 当前日期 4 * b = 6 - w = 当前周的还有几天过完(不算今天) 5 * a + b 的和在除以7 就是当天是当前月份的第几周 6 */ 7 var date = new Date(a, parseInt(b) - 1, c), 8 w = date.getDay(), 9 d = date.getDate();10 if(w==0){11 w=7;12 }13 var config={14 getMonth:date.getMonth()+1,15 getYear:date.getFullYear(),16 getWeek:Math.ceil((d + 6 - w) / 7),17 }18 return config;19 };20 var getDate=getMonthWeek("2018", "12", "31");21 console.log("今天是 " + getDate.getYear + " 年的第 "+ getDate.getMonth + " 月的第 " + getDate.getWeek + " 周");
结果:
获取年的第几周的方法:
1 var getYearWeek = function(a, b, c) 2 { 3 /* 4 date1是当前日期 5 date2是当年第一天 6 d是当前日期是今年第多少天 7 用d + 当前年的第一天的周差距的和在除以7就是本年第几周 8 */ 9 var date1 = new Date(a, parseInt(b) - 1, c),10 date2 = new Date(a, 0, 1),11 d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);12 return Math.ceil((d + ((date2.getDay() + 1) - 1)) / 7);13 };