对于从startDate开始的循环循环

时间:2017-03-15 15:20:23

标签: javascript

for(let i=0;i<=range;i++){
  console.log(`${d.getFullYear()}-${d.getMonth()}-${i}`);
}

我的范围值是5,如果我能够看到2017-2-1至2017-2-6的结果。但如何打印2017-2-12至2017-2-17?我有3个变量:startDate,endDate和range。对于循环部分,我有点混乱。

2 个答案:

答案 0 :(得分:0)

for(let i=startdate;i<=startdate+range;i++){
  console.log(`${d.getFullYear()}-${d.getMonth()}-${i}`);
}

所以对于12到17你会设置

var startdate = 12;

答案 1 :(得分:0)

执行此操作的正确方法是修改实际日期对象。在几个月之间翻车时,日期会变得棘手。

const msInDay = 8.64e7,
      pad = (s, p) => (p + s).substr(-p.length),
      pad2 = s => pad(s, '00'),
      formatDate = d => `${d.getFullYear()}-${pad2(d.getMonth()+1)}-${pad2(d.getDate())}`;

var date = new Date(2017, 1, 12),
    days = 5;

let startTime = date.getTime(),
    endTime = startTime + (msInDay * days)

for (let time = startTime; time <= endTime; time += msInDay) {
  date.setTime(time);
  console.log(formatDate(date));
}
.as-console-wrapper {
  top: 0;
  max-height: 100% !important;
}