dayjs设置时间选择范围默认选中为本周(周一到周天)时初始化失败,刷新才设置上,解决方案

开始方案:

打开浏览器可以,但是点浏览器刷新后又从周一到周天变成了周天到周六为一周了。

// 初始化本周的起始日期和结束日期
  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());

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值