在2楼的基础上,计算了上个月的总周数
function getWeek(str) {
// 将字符串转为标准时间格式
str = Date.parse(str);
str = new Date(str);
// 先计算出该日期为第几周
var week = Math.ceil(str.getDate() / 7);
var month = str.getMonth() + 1;
var year = str.getFullYear();
// 判断这个月前7天是周几,如果不是周一,则计入上个月
if (str.getDate() < 7) {
if (str.getDay() !== 1) {
if (month === 1) {
month = 12;
year = year-1;
} else {
month = month - 1;
}
var lastMonth = new Date(year,month-1,0);
var lastMonthFirst = new Date(year,month-1,1);
console.log(str);
console.log(lastMonthFirst+" "+lastMonthFirst.getDay());
var lastlastCnt = 0;
if(lastMonthFirst.getDay() == 0){
lastlastCnt = 1;
}else if(lastMonthFirst.getDay() > 1){
lastlastCnt = 8-lastMonthFirst.getDay();
}
var lastCnt = lastMonth.getDate();
week = Math.ceil((lastCnt + str.getDate()-lastlastCnt) / 7);
}
}
month = month.toString().length === 1 ? "0" + month : month;
var arr = new Array(year, month, week);
return arr;
}
实用主义:JS判断给定日期是第几周前言 这是今天遇到的面试题,题目写一个函数,判断给定的日期是几月的第几周,当月1日属于上一月的,该周计入上一月。例如:1)输入日期2016-02-01,返回结果为2-1,表示...