计算两个日期时间在日历排版是否同一周。
发布于 4 年前 作者 mengxia 1063 次浏览 来自 分享

计算两个日期时间在日历排版是否同一周。

如图:2020.03.13 跟 2020.03.14 是同一周,2020.03.13 跟 2020.03.16 和 2020.03.04 都不是同一周。

图标解析思路:

代码实现逻辑:


/**
 * compare_sameweek
 * 比较两个日期是否为同一周

 * 示例 compare_sameweek("2019.12.21", "2020.01.02")
 */
function compare_sameweek(insDate, jnsDate) {

  // jnsDate 修改的, insDate 变动的

  var insWeek = new Date(insDate).getDay();   // 最新更新的星期几   1
  var jnsWeek = new Date(jnsDate).getDay();   // 最新更新的星期几   7

  if (jnsWeek == 0) {
    jnsWeek = 7;
  }

  if (insWeek == 0) {
    insWeek = 7;
  }

  var timesDiff = new Date(jnsDate).getTime() - new Date(insDate).getTime();

  timesDiff = timesDiff / (1 * 24 * 60 * 60 * 1000);

  var weekDiff = insWeek - insWeek;

  var sumDiff = timesDiff + weekDiff;

  var mode = parseInt(sumDiff % 2);

  mode = Math.abs(mode);

  // console.log("mode=>", mode);

  return {
  	mode : mode,
  	msg :mode ==1 ?"日历排版不同周": "日历排版同周"
  };

}
回到顶部