原因:默认情况下,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 表示星期一,依此类推。
打印结果: