前言:开发中遇到需求控制三个月前或者后不能选择、控制三年前或者三年后选择时间范围案例,请看demo:
<el-date-picker
v-model="value2"
align="right"
type="date"
placeholder="选择日期"
:picker-options="pickerOptions">
</el-date-picker>
pickerOptions: {
//返回值 表示不可选的区间 YES代表不能选中 NO代表可以选中
disabledDate(time) {
let date =new Date() //获取当前时间
let year = date.getFullYear() + 3 //控制时间年 之前用- 之后用加
let month =date.getMonth() //控制月份之前减、之后用加。获取3个月前的月份的index(0是1月)
let day = date.getDate()
let threeMounthsBeforeDay = (new Date(year,month,day)).getTime() //定义2个月前的毫秒数
//限制时间范围,如果要包含今天可以+/-8.64e7/8.64e6。现在是往后控制的时间,如果是往前控制 符号变成相反的就可以了
return time.getTime() < Date.now() || time.getTime() > threeMounthsBeforeDay
}
}