js获取某时间的当天0点时间戳 与某时间的当周周一0点时间戳

2,609 阅读1分钟

// 返回某时间的当天0点时间戳

const getDateZeroTime = (date) => {

    if (typeof date == 'undefined') {
        throw new Error('date is undefined!');
    }

    if (typeof date == 'number') {
        return new Date(new Date(date).toLocaleDateString()).getTime()
    }

    if (typeof date == 'object') {
        return new Date(date.toLocaleDateString()).getTime()
    }
}
/**
 * 返回某时间的当周周一0点时间戳
 * @param {Number} date 
 * 
 */
const getWeekFirstDayDateZeroTime = (date) => {

    let nowTemp = new Date(date); // 当前时间
 
    let oneDayLong = 24 * 60 * 60 * 1000 ; // 一天的毫秒数
    
    let c_time = nowTemp.getTime() ; // 当前时间的毫秒时间
    
    let c_day = nowTemp.getDay() || 7; // 当前时间的星期几
    
    let m_time = c_time - (c_day - 1) * oneDayLong; // 当前周一的毫秒时间

    let result = getDateZeroTime(m_time) // 当前周一0点时间戳

    return result;
}