2016-07-12 6 views
-3

Für meine Klassenzuweisung muss ich ein Array von Daten zwischen zwei ausgewählten Daten in einem Kalender (Ankunft & Abfahrt) zurückgeben.Wie man ein Array aller Daten zwischen zwei ausgewählten Daten mit Javascript zurückgibt

Ich habe zwei Sätze von Code, die ich verwenden kann, aber ich kann nicht herausfinden, wie Sie sie miteinander verknüpfen.

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

Wenn 'getDates' Sie alle Termine zwischen einem bestimmten Bereich geben wird, alles, was Sie tun müssen, ist ein Startdatum generieren und ein Enddatum dann mit diesen beiden Werten' getDates' nennen. Zu Ihrer Information, niemand wird Ihre Hausaufgaben für Sie machen, also müssen Sie zeigen, was Sie getan haben, um es zu versuchen und zu lösen. –

+2

Mach deine Hausaufgaben! : X –

+0

danke Jungs für Ihre Antwort :) Ich werde mein hw tun! – Khan

Antwort

1

Scheint ziemlich einfach, wenn Sie bereits die Antwort gegeben worden!

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

wow das hat funktioniert! ich danke dir sehr. – Khan

+0

Upvoted, weil es Ihre erste Antwort und hilfreich ist, würde aber empfehlen, nicht einfach geben Hausaufgaben Antworten :) –

+0

Auch nicht gut, um das Parsen von Strings mit dem Date Konstruktor vorschlagen, viel besser, eine Bibliothek oder kleine Funktion zu verwenden oder die Daten einige andere zu generieren Weg. – RobG

Verwandte Themen