javascript根據已知兩個日期,獲得兩個日期之間的所有數據

傳入需要開始日期和結束日期,獲得這兩個日期之間的所有日期
    getBetweenDateStr(start, end) {

        var result = [];
        var beginDay = start.split('-');
        var endDay = end.split('-');
        var diffDay = new Date();
        var dateList = new Array;
        var i = 0;
        diffDay.setDate(beginDay[2]);
        diffDay.setMonth(beginDay[1] - 1);
        diffDay.setFullYear(beginDay[0]);
        result.push(start);
        while(i == 0) {

            var 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;

            }

        }
        return result;

    }

    fromDateSearchNews = () => {

        var url = allNewList + '/' + 1;
        fetchProtect(url, {
            method: 'GET'  
        }).then((json)=>{

            if (json.code == 0) {

                let allData = json.result;
                let fromDateSearchData = [];

                let AllDate = this.getBetweenDateStr(startDate, endDate);
//遍歷返回數據數組,查看返回數據中是否包含於有這兩個日期之間的日期數組,如果有則將該組數據push到新的數組中
                allData.forEach((item) => {

                    let currentDate = item.creat_time.slice(0, 10);

                    if(AllDate.indexOf(currentDate) > -1) {

                        fromDateSearchData.push(item);

                    }else {

                        return;

                    }

                });

                this.setState({
                    allDataNew: [...fromDateSearchData]
                });

            }

        });

    }
    dateChange = (value) => {

        startDate = value[0].format(dateFormat);
        endDate = value[1].format(dateFormat);

    }

render中:

render() {
    <div>
    <Col className='gutter-row' md={8} lg={8} xl={5}>
      <FormItem labelCol={{span: 5}} wrapperCol={{span: 19}} label='創建時間' >
         <RangePicker 
                 onChange={this.dateChange}/>
       </FormItem>
   </Col>
  <Col className='gutter-row' md={4} lg={4} xl={7}>
      <Button type='primary' size='large' onClick={this.fromDateSearchNews}>查詢</Button>
  </Col>
</div>
}
發佈了25 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章