el-date-picker限制时间选择范围

el-date-picker限制时间选择范围_第1张图片
image.png

1、html

   
 

1、禁止今天之前的时间,不包括今天,
今天只能选择当前时间2个小时之后的时间

 data() {
   const validateDate = (rule, value, callback) => {
     if (value) {
       let timestamp = new Date().getTime()// 当前的时间戳
       timestamp = timestamp + 2 * 60 * 60 * 1000
       if (value < timestamp) {
         callback(new Error('不能选择当前时间2个小时之前的时间'))
       } else {
         callback()
       }
     } else {
       callback()
     }
   }
   return {
     goodsElseRules: {
       customDate: [
         { type: 'date', required: true, message: '请填写自定义时间', trigger: 'change' },
         { validator: validateDate, trigger: 'change' }
       ]
     },
     pickerOptions: {
       disabledDate: (time) => {
         let nowData = new Date()
         nowData = new Date(nowData.setDate(nowData.getDate() - 1))
         return time < nowData
       }
     }
   }
 },

2、禁止今天之前和10天之后的时间

 pickerOptions: {
        disabledDate: (time) => {
          // 设置可选择的日期为今天之后的一个月内
          const curDate = (new Date()).getTime()
          // 这里算出一个月的毫秒数,
这里使用30的平均值,实际中应根据具体的每个月有多少天计算
          const day = 10 * 24 * 3600 * 1000
          const dateRegion = curDate + day
          return time.getTime() < Date.now() - 8.64e7 || 
time.getTime() > dateRegion
        }
      }

你可能感兴趣的:(el-date-picker限制时间选择范围)