之前做项目的时候,有用到elementui的el-date-picker周组件,本来以为是现成的,结果发现默认的日期是从周日到周六,如下图
在这里插入图片描述

我们日常项目所需的是从周一到周日,
在这里插入图片描述

解决方法已出,请参考。


 1. 在el-date-picker加入:picker-options="{ firstDayOfWeek: 1 }"
   <el-date-picker
      v-model="value1"
      type="week"
      format="yyyy 第 WW 周"
      placeholder="选择周"
      :picker-options="{ firstDayOfWeek: 1 }"
    >
    </el-date-picker>
 2. 这时候你会发现,value1绑定的数据是星期二的数据,我们想要获取的是周一的数据,需要对时间进行一个处理。
 3. 对时间进行处理,需要引入moment,使用npm install moment --save安装后,在需要的.vue文件里引入import moment from "moment";
 4. 添加一个函数,处理时间<el-date-picker
      v-model="value1"
      type="week"
      format="yyyy 第 WW 周"
      placeholder="选择周"
      :picker-options="{ firstDayOfWeek: 1 }"
      @input="cc"
    >
    </el-date-picker>
  cc为函数名
   methods: {
    cc() {
      console.log(this.value1);
       let weekOfday = moment(this.value1).format("E");
      let Monday = moment(this.value1)
        .subtract(weekOfday - 1, "days")
        .format("YYYY-MM-DD"); //周一日期
      let Sunday = moment(this.value1)
        .add(7 - weekOfday, "days")
        .format("YYYY-MM-DD"); //周日日期
      console.log(Monday, Sunday);
    },
  },
  这样就可以获得周一的日期啦!
  

记录一下,有问题,请批评指正,谢谢!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐