element ui 日期控件范围时间限制记录、以及计算两个日期之间的天数

时间:2024-08-19 19:34:56

日期的筛选经常会有最小的日期选择,例如:当前日期

:clearable="false"
:picker-options="pickerOptions0"
value-format="yyyy-MM-dd"
v-model="startTime"
type="date"
placeholder="选择日期">
</el-date-picker> <el-date-picker
:clearable="false"
:picker-options="pickerOptions1"
value-format="yyyy-MM-dd"
v-model="endTime"
type="date"
placeholder="选择日期">
</el-date-picker>
//开始时间小于等于今天可选
pickerOptions0: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;
}
},
//结束时间小于等于开始时间可选 - 8.64e7
pickerOptions1: {
disabledDate: (time) => {
return time.getTime() < Date.now() - 8.64e7 ||
time.getTime() < new Date(that.value1).getTime()- 8.64e7;
}
},

 设置选择的日期格式

<el-date-picker type="date" placeholder="出发日期" v-model="userDate.date1" :picker-options="pickerOptions0" style="width: 100%;" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"></el-date-picker>

计算两个日期相差多少天

/**
* 计算两个日期相差的天数
* sDate1和sDate2是2006-12-18格式 
*/
DateDiff(sDate1, sDate2){   
     var  aDate,  oDate1,  oDate2,  iDays  
     aDate   =  sDate1.split("-")  
     oDate1 = new Date(aDate[] , aDate[] ,aDate[])    //转换为12-18-2006格式  
     aDate   =  sDate2.split("-")  
     oDate2 = new Date(aDate[] , aDate[] , aDate[])  
     iDays   =  parseInt(Math.abs(oDate1  -  oDate2)  /    /    /    /)    //把相差的毫秒数转换为天数  
    return  iDays
},