JavaScript 解决dayjs在周日获取当前周第一天显示下一周第一天问题

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

打印结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/HH18700418030/article/details/133706667