1、绑定值为字符串类型:
<el-date-picker
placeholder="考试开始时间"
align="center"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
class="long"
v-model="startTime"
placement="bottom-start"
type="date"
:editable="false"
style="width:100%"
size="mini"
@change="refreshMap"
></el-date-picker>
初始化:
this.startTime = "2021-12-21"
2、绑定值类型为Date:
<el-date-picker
v-model="searchData.startDate"
type="date"
placeholder="开始日期"
style="width:100%"
size="mini"
>
</el-date-picker>
初始化为昨天:
created() {
this.searchData.startDate = new Date(new Date().getTime() - 24 * 60 * 60 * 1000).format('yyyy-MM-dd');
this.searchData.endDate = new Date(new Date().getTime() - 24 * 60 * 60 * 1000).format('yyyy-MM-dd');
this.loadData();
},
时间校验
isDateValid() {
if (!this.searchData.startDate || !this.searchData.endDate) {
this.$Message.error('时间为必填');
return false;
}
this.searchData.startDate = new Date(Date.parse(this.searchData.startDate));
this.searchData.endDate = new Date(Date.parse(this.searchData.endDate));
if (this.searchData.startDate.getTime() > this.searchData.endDate.getTime()) {
this.$Message.error('开始时间不可以大于结束时间');
return false;
}
let time = this.searchData.endDate.getTime() - this.searchData.startDate.getTime();
let day = time / (1000 * 60 * 60 * 24);
console.info('时间差' + day);
if (day > 7) {
this.$Message.error('时间范围不可以超过7天');
return false;
}
this.searchData.startDate.setHours(0, 0, 0, 0);
this.searchData.endDate.setHours(0, 0, 0, 0);
return true;
},
注意最后.setHours(0, 0, 0, 0)是因为发现初始化的日期默认为早上8点。