开始方案:
打开浏览器可以,但是点浏览器刷新后又从周一到周天变成了周天到周六为一周了。
// 初始化本周的起始日期和结束日期
const startOfWeek = dayjs()
.startOf('week')
.add(1, 'day')
.format('YYYY-MM-DD HH:mm:ss');
const endOfWeek = dayjs()
.endOf('week')
.add(1, 'day')
.format('YYYY-MM-DD HH:mm:ss');
const [selectedDateRange, setSelectedDateRange] = useState({
//时间传参,默认本周
startTime: startOfWeek,
endTime: endOfWeek,
});
解决方案:
const getWeekRange = () => {
const now = dayjs();
const dayOfWeek = now.day(); // 获取今天是星期几
const startOfWeek = now.subtract(dayOfWeek - 1, 'day'); // 获取周一
const endOfWeek = startOfWeek.add(6, 'days'); // 获取周日
return {
startOfWeek: startOfWeek.format('YYYY-MM-DD HH:mm:ss'),
endOfWeek: endOfWeek.format('YYYY-MM-DD HH:mm:ss')
};
};
const [selectedDateRange, setSelectedDateRange] = useState(getWeekRange());