[英]How to make calendar start at first day of month?
我有一个检查当月有几天的功能:
function daysInMonth(month, year) {
return new Date(year, month, 0).getDate();
}
var DaysInCurrentMonth = daysInMonth(month +1, year +1);
答案是在2016 > 31
12月> 31
然后,我使用下面的函数用这个答案填充日历,但是它当然使它从星期一开始,而本月的第一天实际上是星期四(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';
}
}
如何使它从第一天开始?
请记住,在Date()构造函数中,月份从0到11进行编号,因此0 =一月和11 =十二月。
然后,我将封装任何逻辑来实际获取函数本身中月份的天数,而不是传递它的内容。
function daysInMonth(month, year) {
return new Date(year, month+1, 0).getDate();
}
var currentDate = new Date();
var DaysInCurrentMonth = daysInMonth(currentDate.getMonth(), currentDate.getFullYear());
该循环看起来不错,但是由于您的日历结构没有信息,我不能肯定地说。 我想您可能会因将几个月的数值混淆而产生任何其他问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.