我有一个js代码,它在一个更大的div(实际上是一个日历)中堆叠div。 用户可以自由选择月份和年份,我需要为该月构建日历。
例如:如果本月从星期六开始,我需要首先构建5个空块,然后开始使用其中包含天数的块填充日历。 如何计算月份和年份的给定输入数?
答案 0 :(得分:16)
您可以使用Date对象的getDay函数来获取星期几。
要获得本月的第一天,请创建一个新的Date object:
var year = "2012";
var month = "12";
var day = new Date(year + "-" + month + "-01").getDay()
// 6 - Saturday
由于您从1开始计算,而星期一是一周的第一天,您还必须这样做:
day = (day===0) ? 7 : day
答案 1 :(得分:0)
ES6方式:
const firstDayInMonthIndex = (
monthIndex = new Date().getMonth(),
year = new Date().getFullYear()
) => (
new Date(`${year}-${monthIndex + 1}-01`).getDay()
)