欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js 获取两日期间所有日期

程序员文章站 2022-05-27 16:06:12
...

我们在做图表类使用dates日期插件的时候,有时候从后台获取的日期往往是有数据的天数,那么其他没有数据的日期就需要前端进行补全咯!!!
js 获取两日期间所有日期

	// 获取所有日期
    getBetweenDateList(start,end){
      let result = [];
      let beginDay = start.split("-");
      let endDay = end.split("-");
      let diffDay = new Date();
      let dateList = new Array;
      let i = 0;
      diffDay.setDate(beginDay[2]);
      diffDay.setMonth(beginDay[1]-1);
      diffDay.setFullYear(beginDay[0]);
      result.push(start);
      while(i == 0){
          let countDay = diffDay.getTime() + 24 * 60 * 60 * 1000;
          diffDay.setTime(countDay);
          dateList[2] = diffDay.getDate();
          dateList[1] = diffDay.getMonth() + 1;
          dateList[0] = diffDay.getFullYear();
          if(String(dateList[1]).length == 1){dateList[1] = "0"+dateList[1]};
          if(String(dateList[2]).length == 1){dateList[2] = "0"+dateList[2]};
          result.push(dateList[0]+"-"+dateList[1]+"-"+dateList[2]);
          if(dateList[0] == endDay[0] && dateList[1] == endDay[1] && dateList[2] == endDay[2]){ i = 1;
          }
      };
      console.log(result);
      return result;
    },
   let getBetweenDateList = this.getBetweenDateList('2020-01-01', '2020-01-10)

再将获取的数据中日期和得到的日期数组getBetweenDateList 进行去重整合得:

getBetweenDateList.forEach(i => {
 let dateStr = i, totalFee = 0, refundFee = 0;
  for (var item in body.data.data) {		// body.data.data接口返回的数组列表
    if (body.data.data[item].dateStr == i) {
      console.log('i', i)
      dateStr = body.data.data[item].dateStr;
      totalFee = body.data.data[item].totalFee;
      refundFee = body.data.data[item].refundFee;
    }
  };
  this.echartsLineOptions.lineDate.push(dateStr);
  this.echartsLineOptions.lineValue.push(totalFee/100);
  this.echartsLineOptions.lineValue_.push(refundFee/100);
})

js 获取两日期间所有日期

相关标签: javaScript vue