这是我的两个约会
var startdate = '11-12-2016';
var stopdate = '13-12-2016';
我想在这两个日期之间循环。所以,我确实是这样
var startMedicine = new Date(startdate);
var stopMedicine = new Date(stopdate);
while(startMedicine <= stopMedicine){
console.log(startdate)
}
但是我正在浏览器中运行无限循环。
我怎样才能做到这一点。
注意 :
我不想为此使用jQuery。
如果开始日期和结束日期相同,则应仅循环一次,并且输入日期将始终为d / m / y格式。我的代码有什么错误?请帮助
更新:
我误认为日期格式,我的日期格式是d-m-y。我该怎么做一个..
最佳答案
使用getDate
每次迭代将日期递增一天
startdateArr = startdate.split('-');
stopdateArr = stopdate.split('-');
var startMedicine = new Date(startdateArr[2],startdateArr[1]-1,startdateArr[0]);
var stopMedicine = new Date(stopdateArr[2],stopdateArr[1]-1,stopdateArr[0]);
// thanks RobG for correcting on month index
while(startMedicine <= stopMedicine){
var v = startMedicine.getDate() + '-' + (startMedicine.getMonth() + 1) + '-' + startMedicine.getFullYear();
console.log(v);
startMedicine.setDate(startMedicine.getDate()+1);
}
在js月中,索引从0开始,因此nov为12月10日。是11岁,这就是为什么我使用
getMonth() + 1
`