function getWeek(date){
//获取date当月第一天和最后一天
const monthFirstDay = moment(date).startOf('month').format('YYYY-M-D')
const monthLastDay = moment(date).endOf('month').format('YYYY-M-D')
//获取第一周周日的日期
const firstWeekEnd = moment(monthFirstDay).weekday(7).format('YYYY-M-D')
//一周的开始日期和结束日期
let next = [monthFirstDay, firstWeekEnd]
let monthWeek = []
//一周的结束日期没有超出date当月的最后一天就加入数组,如最后一天不是周日就不加入数组
while(moment(next[1]).isBefore(monthLastDay)){
monthWeek.push(next)
weekFirstDay = moment(next[1]).add(1, 'd').format('YYYY-M-D')
weekLastDay = moment(weekFirstDay).weekday(7).format('YYYY-M-D')
next = [weekFirstDay, weekLastDay]
}
//判断数组中有没有date当月的最后一天,如没有添加最后一周
if(monthWeek.some(item => !item.some(child => child === monthLastDay))){
monthWeek.push([next[0], monthLastDay])
}
console.log(monthWeek);
return monthWeek
}
moment获取本月每周的开始时间和结束时间
于 2023-06-06 00:02:52 首次发布