我想知道如何在今天和开始日期之间为创建变量创建单循环。
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。我不知道如何将年份添加到我的代码中。
答案 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
,并提取month
和year
并分别递增它们,直至到达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);