js——获取指定日期的前7天连续日期

ps:以下方法是获取当前日期或几天后/前的日期,并转换成 2017-07-09 格式

    今天:getDateStr(0)

    昨天:getDateStr(-1)

    明天:getDateStr(1)

            getDateStr (AddDayCount) {
                var dd = new Date();
                dd.setDate(dd.getDate() + AddDayCount);   //获取AddDayCount天后的日期
                var year = dd.getFullYear();
                var mon = dd.getMonth()+1;                             //获取当前月份的日期
                var day = dd.getDate();
                return year + '-' + ( mon < 10 ? ( '0' + mon ) : mon ) + '-' + ( day < 10 ? ( '0' + day ) : day) ;
            }

当获得2017-07-09格式的日期后,我们以此为参数,获取前几天/后几天的连续日期数组

       getDate(date) 
                var base = new Date(date).getTime()
                var oneDay = 24 * 3600 * 1000;
                var date = [];
                var data = [Math.random() * 300];
                var time = new Date(base);
                date.push([time.getFullYear(), time.getMonth() + 1, time.getDate()].join('/'));
                for (var i = 1; i <7; i++) {
                    var now = new Date(base -= oneDay);
                    date.push([now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'));
                    data.push(Math.round((Math.random() - 0.5) * 20 + data[i - 1]));
                }
                var newdate = date.reverse()
                console.log(newdate)
                return newdate;
            }

 此时传入 2018-07-09 ,将会获得 [ '2018/7/3','2018/7/4','2018/7/5','2018/7/6','2018/7/7','2018/7/8','2018/7/9']

 日期传入或输出的格式可以自己定义。

原文地址:https://www.cnblogs.com/tanghm/p/9283861.html