js如何获取时间范围内的年月,日格式化为01. 如时间范围是2017-01-12到2017-07-15
预期结果为2017-01-01 、2017-02-01 、2017-03-01 、2017-04-01 、2017-05-01 、2017-06-01 、2017-07-01
预期结果为2017-01-01 、2017-02-01 、2017-03-01 、2017-04-01 、2017-05-01 、2017-06-01 、2017-07-01
var sdate = '2015-01-12', edate = '2017-07-15';
var syear = parseInt(sdate.split('-')[0], 10), smonth = parseInt(sdate.split('-')[1], 10);
var eyear = parseInt(edate.split('-')[0], 10), emonth = parseInt(edate.split('-')[1], 10);
var result = [];
while((syear * 12 + smonth) <= (eyear * 12 + emonth)){
result.push(syear + ('0' + smonth).slice(-2) + '01');
if(++smonth > 12){
syear++;
smonth = 1;
}
}
console.log(result.join('\n'));
function getDate(s){
return new Date(s.replace(/-/g,'/'));
}
var arr = [], startD = getDate('2017-01-12'),endD = getDate('2017-07-15');
while(endD > startD){
let d = startD.getDate();
if(d === 1)arr.push(startD.toLocaleDateString());
startD.setDate(startD.getDate() + 1);
}
console.log(arr);
return new Date(s.replace(/-/g,'/'));
}
var arr = [], startD = getDate('2017-01-12'),endD = getDate('2017-07-15');
while(endD > startD){
startD.setDate(1);
arr.push(startD.toLocaleDateString());
startD.setMonth(startD.getMonth() + 1);
}
console.log(arr);