我正在使用MOMMJS和FULLCALENDAR。我想获得一个月的第一个星期一。我尝试了以下代码,但它不起作用。
let date = new Date(year, month, 1)
moment(date).isoWeekday(1)
我相信 @xenteros的答案在星期日开始几个月不起作用,因为星期一将是第9个。
这是一个简单的修复:
let date = moment().year(y).month(m).date(1).day(8);
if (date.date() > 7)
date.day(-6);
以下代码解决了我的问题:
let date = moment().set('year', y).set('month', m).set('date', 1).isoWeekday(8)
if(date.date() > 7) { //
date = date.isoWeekday(-6)
}
这是获得第一个星期一
的步骤创建一天(该特定月份的任何一天)
获得本月的开始,这将返回日期
第一天有两个案例,可能是星期一或不是星期一
我们在一个月的第一天增加了6天,如果是星期一,我们将获得周日(同一周),否则我们将在下周获得一个星期一的日期(发生在同月)
致电
startOf('isoWeek')
将返回该月的第一个星期一let date = new Date(year, month, 1); const firstMondayOfTheMonth = date .startOf('month') .add(6, 'day') .startOf('isoWeek');
使用力矩JS 。您可以在任何一年和月份作为参数传递。
import moment from 'moment';
const startOfMonth = moment().year(2021).month(0).startOf('month').isoWeekday(8);
console.log(startOfMonth.format('dddd DD-MM-YYYY')); // Monday 04-01-2021
月: 0-11。