javascript設置時間區間

直接上代碼

util.getKindsOfTime = function () {
    let now = new Date(); //當前日期     
    let nowDayOfWeek = now.getDay(); //今天本週的第幾天     
    let nowDay = now.getDate(); //當前日     
    let nowMonth = now.getMonth(); //當前月     
    let nowYear = now.getYear(); //當前年     
    nowYear += (nowYear < 2000) ? 1900 : 0; //     

    //格式化日期:yyyy-MM-dd     
    function formatDate(date) {
        let myyear = date.getFullYear();
        let mymonth = date.getMonth() + 1;
        let myweekday = date.getDate();

        if (mymonth < 10) {
            mymonth = "0" + mymonth;
        }
        if (myweekday < 10) {
            myweekday = "0" + myweekday;
        }
        return (myyear + "-" + mymonth + "-" + myweekday);
    }

    //獲得某月的天數     
    function getMonthDays(myMonth) {
        let monthStartDate = new Date(nowYear, myMonth, 1);
        let monthEndDate = new Date(nowYear, myMonth + 1, 1);
        let days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
        return days;
    }

    //獲得本週的開始日期     
    function getWeekStartDate() {
        let weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + 1);
        return formatDate(weekStartDate);
    }

    //獲得本週的結束日期     
    function getWeekEndDate() {
        let weekEndDate = new Date(nowYear, nowMonth, nowDay + (7 - nowDayOfWeek));
        return formatDate(weekEndDate);
    }

    //獲得本月的開始日期     
    function getMonthStartDate() {
        let monthStartDate = new Date(nowYear, nowMonth, 1);
        return formatDate(monthStartDate);
    }

    //獲得本月的結束日期     
    function getMonthEndDate() {
        let monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
        return formatDate(monthEndDate);
    }

    return {
        getWeekStartDate,
        getWeekEndDate,
        getMonthStartDate,
        getMonthEndDate
    }
};

// 設置時間區間
setTime(key) {
    let end = new Date();
    switch (key) {
        // 最近1小時
        case 1:
            this.form.start = new Date(end.getTime() - 1000 * 60 * 60);
            this.form.end = end;
            break;
        // 最近24小時
        case 2:
            this.form.start = new Date(end.getTime() - 1000 * 60 * 60 * 24);
            this.form.end = end;
            break;
        // 今日
        case 3:
            let temp = end;
            this.form.start = new Date(temp.setHours(0, 0, 0));
            this.form.end = new Date(end.setHours(23, 59, 59));
            break;
        // 本週
        case 4:
            let obj4 = util.getKindsOfTime();
            this.form.start = obj4.getWeekStartDate() + " 00:00:00";
            this.form.end = obj4.getWeekEndDate() + " 23:59:59";
            break;
        // 本月
        case 5:
            let obj5 = util.getKindsOfTime();
            this.form.start = obj5.getMonthStartDate() + " 00:00:00";
            this.form.end = obj5.getMonthEndDate() + " 23:59:59";
            break;
    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章