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']
日期传入或输出的格式可以自己定义。