<el-date-picker clearable size="small"
v-model="dates"
type="datetime"
value-format="yyyy-MM-dd"
placeholder="选择日期"
:picker-options="pickerOptions">
</el-date-picker>
1、只能选择今天(包含今天)之后的日期
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 24 * 60 * 60 * 1000;
},
},
//或者
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;
}
2、只能选择今天(不包含今天)之后的日期
disabledDate(time) {
return time.getTime() < Date.now()
},
3、只能选择今天(不包含今天)之前的日期
disabledDate(time) {
return time.getTime() > Date.now() - 24 * 60 * 60 * 1000;
},
4、只能选择三个月之前到今天的日期(包含今天)
disabledDate(time) {
let curDate = (new Date()).getTime();
let three = 90 * 24 * 3600 * 1000;
let threeMonths = curDate - three;
return time.getTime() > Date.now() || time.getTime() < threeMonths;;
}
5、快速选择,最近一周、最近一个月、最近一季度,今天之后的(不含今天)不可选
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now() - 8.64e6; //如果没有后面的-8.64e6就是不可以选择今天的
},
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},