2017-04-18 30 views
-4

私は解決策を探していますが、私は何を除けば得られませんでした。開始日と終了日の間に月と年を取得するには

ケース:開始日:10/17/2017と終了日:02/23/2018 を私は私はあなたの提案をお聞かせください

 array 1 
     - 2017 
     -10 
     -11 
     -12 
     array 2 
     - 2018 
     -01 
     -02 

を次のようにアレイ形式で月と年を取得したいこれらの日付の範囲から。前もって感謝します。

+3

へようこそ。何をどのように尋ねるかを確認するには、[ヘルプ]をご覧ください。ヒント:努力とコードを投稿するが、FIRSTはスペルを修正した後、Googleであなたのタイトルを検索する:https://www.google.com/search?q=array+of+months+and+years+between+start+date+and+終了日+日付+ javacript – mplungjan

+0

Dateオブジェクトを使用して日付を保存していないのはなぜですか? JSライブラリを使って説明にマッチするものを作ることができます。http://stackoverflow.com/a/21293157/2344348 –

+1

重複:http://stackoverflow.com/a/21293157/2344348 –

答えて

1

私は興味をそそられていて、とにかくそれを書いています。 Moment.jsはここで巨大な過剰です。 SO

var obj = {}, start=new Date("10/17/2017"), end=new Date("02/23/2018"); 
 
for (var i=start.getTime(), n = end.getTime(); i<=n;) { // we update i later 
 
    var d=new Date(i), year = d.getFullYear(), month=d.getMonth()+1; 
 
    if (!obj[year]) obj[year] = [month]; // initialise array 
 
    else obj[year].push(month); // add to array 
 
    d.setMonth(month); // next month 
 
    i = d.getTime(); // here instead of in the for statement 
 
} 
 
console.log(obj);

関連する問題