Javascript循环数月和数年

时间:2017-09-26 16:24:40

标签: javascript loops

我想知道如何在今天和开始日期之间为创建变量创建单循环。

var startDate = 11-15; /*that means 11th month of 2015*/

var d = new Date();
var m = d.getMonth() + 1;
var y = d.getFullYear().toString().substr(-2);

for (var i = 11; i <= m; i++) {
  console.log(i);
}

结果应该是11-15,12-15,1-16等,直到今天9-17。我不知道如何将年份添加到我的代码中。

2 个答案:

答案 0 :(得分:0)

假设startdate是一个字符串,您可以在代码

下面使用
var startDate = "11-15"

var d = new Date();
var m = d.getMonth() + 1;
var y = d.getFullYear().toString().substr(-2);
d=startDate.split("-")
counter = parseInt(d[0])
for(var i=parseInt(d[1]);i<=parseInt(y);i++)
{
  for(var j=counter;j<=12;j++){
    if(j>m && i==y){
       continue
    }
    console.log(j+"-"+i)
  }
  counter = 1;
}

答案 1 :(得分:0)

您可以.split()使用startDate而不是string,并提取monthyear并分别递增它们,直至到达09-17 {1}}:

var startDate = "11-15";

var month = parseInt(startDate.split("-")[0]);
var year = parseInt(startDate.split("-")[1]);

var results = [];

while(!(year === 17 && month === 9)){
  if(month<12){
    month++;
  }else{
     month = 1;
     year++;
  }
  console.log(month+'-'+year);
  results.push(month+'-'+year);
}

console.log(results);