JS获取-某一天是某个时间段内的 第几周,星期几

来源:互联网 发布:android网络访问404 编辑:程序博客网 时间:2024/05/17 23:18


    最近做课程表,要将所有课程显示到一个课程格子里,默认加载本周课程,于是就需要知道本周是这个学期的第几周,引出本文主要内容:


    首先,这个学期的开始时间是要知道的,然后根据学期的开始时间计算本周是第几周,今天是星期几。


    

function(){      /*      * 说明:      * 本代码将周一作为每周的开始      */        function TodayInfo(start) {          var WEEKLEN = 7, // 一周7天            WEEKDAYS = ["日", "一", "二", "三", "四", "五", "六"],              weekInfo = {"week": null, "day": null}, // 初始化返回信息,默认第null周,星期null              oneDay = 24 * 60 * 60 * 1000, // 一天的毫秒时长              weekLeave, // 开学当天所在周剩余天数              weekStart, // 开学当天start是星期几              today, // 今天              dateDiff, // 今天与开学当天日期差              sDate; //开学之日,日期对象          var rDateStr = /\d{4}[\/-]\d{1,2}[\/-]\d{1,2}/g; // 简单的日期格式校验:2013/12/19          if (!rDateStr.test(start)) {              alert("请使用合法的开学日期!!!");              return weekInfo;          }          sDate = new Date(start.replace("-", "/"));          weekStart = sDate.getDay();          weekStart = weekStart === 0 ? 7 : weekStart; // JS中周日的索引为0,这里转换为7,方便计算                    weekLeave = WEEKLEN - weekStart;          today = new Date();          weekInfo.day = WEEKDAYS[today.getDay()];          today = new Date(today.getFullYear() + "/" + (today.getMonth() + 1) + "/" + today.getDate());          dateDiff = today - sDate;          if (dateDiff < 0) {              alert("未开学呢 !!!");              return weekInfo;          }          dateDiff = parseInt(dateDiff / oneDay);          weekInfo.week = Math.ceil((dateDiff - weekLeave) / WEEKLEN) + 1;          return weekInfo;      }  
    // 测试结果      var td = TodayInfo("2013/12/16");      console.log("今天是自2013/12/16日,开学以来的第 " + td.week + " 周,今天星期" + td.day);      td = TodayInfo("2013/11/11");      console.log("今天是自2013/11/11日,开学以来的第 " + td.week + " 周,今天星期" + td.day);      td = TodayInfo("2013/09/01");      console.log("今天是自2013/09/01日,开学以来的第 " + td.week + " 周,今天星期" + td.day);      td = TodayInfo("2013/12/29");      console.log("今天是自2013/12/29日,开学以来的第 " + td.week + " 周,今天星期" + td.day);  })();  

    有了这个函数,就可以轻松的计算出第几周和星期几了!




阅读全文
0 0
原创粉丝点击