之前做项目的时候,有用到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);
},
},
这样就可以获得周一的日期啦!
记录一下,有问题,请批评指正,谢谢!