前端判断两个日期是否是同一个周,获取指定时间的本周周一的日期

/**
 * 判断两个日期是否是同一个周
 * @param oldTime 开始时间 {2021-01-25}
 * @param nowTime 结束时间 {2021-01-25}
 */
export function isSameWeek (oldTime, nowTime) {
    oldTime = new Date(oldTime);
    nowTime = new Date(nowTime);
    let oneDayTime = 1000 * 60 * 60 * 24;
    let old_count = parseInt(oldTime.getTime() / oneDayTime);
    let now_other = parseInt(nowTime.getTime() / oneDayTime);
    return parseInt((old_count + 4) / 7) === parseInt((now_other + 4) / 7);
}

/**
 * 获取指定时间的本周周一的日期
 * @param date 标准时间
 * {getDay方法获取 周天-周六(0-6),如果getDay是0,就往前推6天,如果是1-6,就往前推对应的0-5天}
 * @return {中国标准时间}
 */
export function getMondayDate(date) {
    let day = date.getDay();
    let deltaDay;
    if (day == 0){
        deltaDay = 6;
    } else {
        deltaDay = day - 1;
    }
    let monday = new Date(date.getTime() - deltaDay * 24 * 60 * 60 * 1000);
    monday.setHours(0);
    monday.setMinutes(0);
    monday.setSeconds(0);
    return monday;  //返回本周的周一日期
}

猜你喜欢

转载自blog.csdn.net/Sunny_lxm/article/details/113108021