240 发简信
IP属地:北京
  • 在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,表示...