js,vue, 獲取指定時間的前、后多少天的日期


需求:  給定一個日期,獲取該日期前后 7天 的日期

 

//  獲取當前日期前后多少天的日期,之前多少天傳正數,后面多少天傳負數,今天傳0,
//  num為傳入的數字, time為傳入的指定日期,如果time不傳,則默認為當前時間
 
        getBeforeDate(num, time) {
            let n = num;
            let d = '';
            if(time) {
                d = new Date(time);
            } else {
                d = new Date();
            }
            let year = d.getFullYear();
            let mon = d.getMonth() + 1;
            let day = d.getDate();
            if(day <= n) {
                if(mon > 1) {
                    mon = mon - 1;
                } else {
                    year = year - 1;
                    mon = 12;
                }
            }
            d.setDate(d.getDate() - n);
            year = d.getFullYear();
            mon = d.getMonth() + 1;
            day = d.getDate();
            let s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day);
            return s;
        }
 

 當循環輸入0 ~ 7, -6 ~0 ,並且 time 傳入 ‘2019-10-31’, arr 、arr2  會輸出如下

  let arr = [];
        for(let i=0; i<7; i++) {
            arr.push(this.getBeforeDate(i, '2019-10-31'))
        }

        let arr2 = [];
        for(let i=-6; i<1; i++) {
            arr2.push(this.getBeforeDate(i, '2019-10-31'))
        }
 
        console.log(arr)
        console.log(arr2)

 

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM