2016-07-12 13 views
-3

を使用して、選択した2つの日付間のすべての日付の配列を返す方法私のクラスの割り当てでは、選択した2つの日付の間の日付をカレンダーで返します(到着:&出発)。javascript

私は2組のコードを使用することができましたが、どのようにリンクするのか分かりません。

var arrival = document.getElementById('arrivalDate'); 
console.log(arrival.value); 

var checkout = document.getElementById('departureDate'); 
console.log(checkout.value); 

// Figure out the number of days they are check in for. 
var days = checkout.value.split('-')[2] - arrival.value.split('-')[2]; 
console.log(days); 

function dateRange(arrival, days) { 
    range = []; 

    // Starting At 

    return range; 
} 

// Returns an array of dates between the two dates 
var getDates = function(startDate, endDate) { 
    var dates = [], 
     currentDate = startDate, 
     addDays = function(days) { 
     var date = new Date(this.valueOf()); 
     date.setDate(date.getDate() + days); 
     return date; 
     }; 
    while (currentDate <= endDate) { 
    dates.push(currentDate); 
    currentDate = addDays.call(currentDate, 1); 
    } 
    return dates; 
}; 

// Usage 
var dates = getDates(new Date(2013,10,22), new Date(2013,11,25));                           
dates.forEach(function(date) { 
    console.log(date); 
}); 
+0

'getDates'があなたに与えられた範囲の間のすべての日付を与える場合は、あなたがしなければならないすべては、それら二つの値を' getDates'を呼び出し、開始日と終了日を生成しています。参考までに、誰もあなたの宿題をするつもりはありませんので、試して解決するために行ったことを示す必要があります。 –

+2

あなたの宿題をやってください! :X –

+0

あなたの応答のためにみんなに感謝:)私は私のhwを行います! – Khan

答えて

1

あなたはすでに答えを与えてきたときはかなりシンプルですね!

var arrivalDate = new Date(document.getElementById('arrivalDate').value); 
var departureDate = new Date(document.getElementById('departureDate').value); 
var dateRange = getDates(arrivalDate, departureDate); 
+0

これはうまくいった!どうもありがとうございます。 – Khan

+0

Upvotedそれはあなたの最初の答えだと便利ですが、単に人々の宿題の答えを与えることをお勧めしません:) –

+0

また、Dateコンストラクタで文字列の解析を提案するのは良い、ライブラリや小さな関数を使用するか、方法。 – RobG