我怎样才能从月份和年份的给定输入中得到星期几的哪一天?

时间:2012-12-02 13:38:06

标签: javascript date math

我有一个js代码,它在一个更大的div(实际上是一个日历)中堆叠div。 用户可以自由选择月份和年份,我需要为该月构建日历。

例如:如果本月从星期六开始,我需要首先构建5个空块,然后开始使用其中包含天数的块填充日历。 如何计算月份和年份的给定输入数?

2 个答案:

答案 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()
)