2016-12-16 4 views
0

Ich habe eine Funktion, die, wie viele Tage sind im aktuellen Monat überprüft:Wie wird der Kalender am ersten Tag des Monats gestartet?

function daysInMonth(month, year) { 
    return new Date(year, month, 0).getDate(); 
} 
var DaysInCurrentMonth = daysInMonth(month +1, year +1); 

Die Antwort darauf ist > 31 für Monat Dezember 2016. Dann meinen Kalender ich mit dieser Antwort füllen Sie die Funktion verwenden, aber es beginnt natürlich am Montag, während der erste Tag dieses Monats tatsächlich Donnerstag ist (1. Dezember ist Donnerstag).

for (var i = 1; i < DaysInCurrentMonth + 1; i++) { 
    divDag = document.createElement('div'); 
    divDag.className = 'dagBlokje'; 
    divDag.innerHTML = i; 
    KalenderDagen.appendChild(divDag); 
    if (i == Today) { 
     divDag.className = 'dagBlokje today'; 
    } 
} 

Wie man es so macht, wird es am ersten Tag anfangen?

+0

Sagen Sie mir, wenn mehr Informationen benötigt werden. – Preamas

Antwort

0

Denken Sie daran, dass der Monat im Konstruktor Date() von 0 bis 11 nummeriert ist, also 0 = Januar und 11 = Dezember.

Dann würde ich jede Logik kapseln, um tatsächlich die Zahl des Tages im Monat in der Funktion selbst zu erhalten, anstatt, was Sie es übergeben.

Diese Schleife sieht gut aus, aber ohne Informationen über Ihre Kalenderstruktur kann ich nicht sicher sagen. Ich könnte mir weitere Probleme vorstellen, die sich ergeben, wenn Sie die numerischen Werte von Monaten vertauschen.

Verwandte Themen