2016-12-16 100 views
0

我有檢查的功能多少天都在當月:如何在一個月的第一天開始日曆?

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

這個問題的答案是> 31爲2016年每月月 然後我用下面的函數填補我的日曆這個答案,但它當然會在星期一開始,而本月的第一天實際上是星期四(12月1日是星期四)。

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

如何使它在第一天開始?

+0

如果需要更多信息,告訴我。 – Preamas

回答

0

請記住,在Date()構造函數中,月的編號從0到11,所以0 = 1月和11 = 12月。

然後,我會封裝任何邏輯,用於在函數本身中實際獲取當月的日數,而不是通過它的內容。

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

該循環看起來不錯,但沒有關於日曆結構的信息,我不能肯定地說。我想可能還會遇到混淆了幾個月數值的問題。

相關問題