<el-date-picker
v-model="queryObj.year"
type="month"
placeholder="请选择月份"
style="width: 100%"
size="large"
value-format="yyyy-MM"
@change="getReport"
:picker-options="pickerBeginDateBefore"
>
</el-date-picker>
js
//设置当前年月之前的数据可以查看
pickerBeginDateBefore: {
disabledDate: (time) => {
//newDate(time).getTime() time是xxxx-xx-xx的格式(年月日) 获取到13位的时间戳
//this.entryTime是入职时间(已知日期,年月日)
let timeString = new Date(this.entryTime).getTime() ; //转时间戳
const joinYear = this.entryTime.slice(0, 4);
const FullYear = time.getFullYear(); //选择的年份
let myDate = new Date();
const year = myDate.getFullYear(); //当前年份
// 点击选择的年份大于当前年份或者小于起始年份 //先限制年份
if (FullYear > year || FullYear<joinYear) {
return true;
} else {
let t = myDate.getDate();
// 选择的时间
return time.getTime() > Date.now() - 8.64e7 * t||time.getTime()<timeString;
}
},
},
问题描述: 比如根据后台返回的字段 entryTime:2021-10-09 (某员工的入职时间),现在需要限制从入职年月开始至当前年月的区间才可以选择,此时无法单独比较年和月,所以考虑将入职日期和当前日期转化为时间戳进行对比,即上述代码的: let timeString=new Date(this.entryTime).getTime()