2017-09-26 16 views
-1

私は今日と開始日の間に変数を作成するためのシングルループを作成する方法が不思議です。Javascriptループの谷月と年

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); 
} 

結果は、今日の9-17まで11-15,12-15,1-16などとする必要があります。私は自分のコードに年をどのように追加できるのか分かりません。

+1

まず、moment.jsなどの日付ライブラリを使用することをお勧めします。あなたはあなたに感謝します。 –

+1

ヒント:11-15は-4を生成する整数計算です。 –

答えて

0

と仮定STARTDATEあなたが09-17に到達するまで、あなたはそれぞれ

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; 
} 
0

さてあなたはstringあるべきstartDate.split()を使用し、monthyearを抽出し、それらをインクリメントしておくことができ、コードの下に使用できる文字列です。

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);