传入需要开始日期和结束日期,获得这两个日期之间的所有日期
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>
}