原因:默认情况下,Day.js 将星期天视为每周的第一天。

方法:判断当天是不是周日,如果是就减一周。

import dayjs from 'dayjs'const weekday = dayjs().day()const we = weekday === 0 ? 0 - 1 : 0// dayjs().add(7, 'day')、dayjs().add(7, 'year'):增加时间并返回一个新的 Dayjs() 对象 // dayjs().subtract(7, 'year')、dayjs().subtract(7, 'month'):减少时间并返回一个新的 Dayjs() 对象// dayjs().startOf('year')、dayjs().startOf('month') 返回当前时间的开头时间的 Dayjs() 对象,如月份的第一天。// dayjs().endOf('month')、dayjs().endOf('year'):返回当前时间的末尾时间的 Dayjs() 对象,如月份的最后一天。const beginDate = dayjs().add(we, 'week').startOf('week').add(1, 'day')const endDate = dayjs().add(we, 'week').endOf('week').add(1, 'day')console.log('beginDate,endDate', beginDate, endDate)console.log('时间戳格式:beginDate,endDate', beginDate.valueOf(), endDate.valueOf())

dayjs().day() 返回值范围为 0 到 6,其中 0 表示星期天,1 表示星期一,依此类推。

打印结果: