如何使用 MomentJS 获取每月的第一个星期一?

Hoa*_*ung 7 javascript fullcalendar momentjs

我正在使用 MomentJS 和 fullcalendar。我想得到一个月的第一个星期一。我尝试了以下代码,但它不起作用。

let date = new Date(year, month, 1)
moment(date).isoWeekday(1)
Run Code Online (Sandbox Code Playgroud)

小智 5

我相信 @xenteros 的答案在从星期日开始的几个月内不起作用,因为星期一将是 9 号。

这是一个简单的修复:

let date = moment().year(y).month(m).date(1).day(8);
if (date.date() > 7)
    date.day(-6);
Run Code Online (Sandbox Code Playgroud)


Hoa*_*ung 2

以下代码解决了我的问题:

let date = moment().set('year', y).set('month', m).set('date', 1).isoWeekday(8)
if(date.date() > 7) { // 
    date = date.isoWeekday(-6)
}
Run Code Online (Sandbox Code Playgroud)