vue时间控件常用处理

1、处理时间后面时间不能大于前面的时间,前面时间大于等于当前日期
<DatePicker
                        v-model="formData.startTime"
                        type="datetime"
                        format="yyyy-MM-dd"
                        placeholder="请选择"
                        :options="startTimeOption"
                        @on-change="beginDate"
                      ></DatePicker>
<DatePicker
                        v-model="formData.endTime"
                        type="datetime"
                        format="yyyy-MM-dd"
                        :editable="false"
                        placeholder="请选择"
                        :disabled="isEndTimeDisabled"
                        :options="endTimeOption"
                        @on-change="endDate"
                      ></DatePicker>
data() {
   return {
      endTimeOption: {
        disabledDate(date) {
          let rd = this.formData.startTime
          return date.valueOf() < rd
        }
      },
      startTimeOption: {
        disabledDate(date) {
         return date && date.valueOf() < Date.now() - 86400000
        }
      },
      isEndTimeDisabled: true
   }
 method() {
   beginDate(date) {
      // 时间转换
      // this.formData.startTime = date
      if (this.formData.startTime) {
        if (this.formData.startTime > this.formData.endTime) {
          this.formData.endTime = ''
        }
        this.isEndTimeDisabled = false
      } else {
        this.formData.endTime = ''
        this.isEndTimeDisabled = true
      }
    },
    endDate(date) {
      // 时间转换
      // this.formData.endTime = date
    },
}
}

2、取年且不能超过当前年处理
 <DatePicker
                        v-model="formData.taskYear"
                        type="year"
                        placeholder="请选择计划年份"
                        style="width: 100%"
                        clearable
                        :editable="false"
                        :options="endTimeOption"
                        @on-change="onDetePickerChange"
                      />
data() {
    let self = this
return {
    endTimeOption: {
        disabledDate(date) {
          let nowDate = new Date()
          let year = nowDate.getFullYear()
          return date.getFullYear() < year
        }
      }
}
method() {
   onDetePickerChange(date) {
      this.formData.taskYear = date
    }
}

验证规则

startTime: [
  {
    required: true,
    message: '注意:请选择开工时间'
  }
],
endTime: [
  {
    required: true,
    message: '注意:请选择竣工时间'
  }
],

后端时间加上注解东八区

@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值