方法一、只能限制日期和小时的方法
实现的方式:
option实现插件只能选取当前时间之后的时候(包括年月日)
handle实现插件能选取当前时间的时、分、秒,但是选择完毕之后,只要选择的时、分、秒小于当前时间,会自动填充为当前的时、分、秒
如图当前是2020-05-13 17:00;
年月日不能选取小于当前时间的,但是时分能选,但是点了ok之后,如果时间小于当前时间,会自动替换成当前时间
html:
<el-date-picker
v-model="nowTime"
type="datetime"
format="yyyy-MM-dd HH:mm:ss"
start=""
:picker-options="option"
@change="handle"
placeholder>
</el-date-picker>
js:
<script>
import {nowTime} from '../../utils/times'
export default {
data() {
return {
nowTime: nowTime(),
option:{
disabledDate(time){
return time.getTime() < Date.now()-1 * 24 * 3600 * 1000
},
selectableRange: new Date(new Date().setHours(new Date().getHours()+1
)).format('hh') + ':00:00 - 23:59:59'
}
}
},
mounted() {
console.log("nowTime:", this.nowTime);
},
methods: {
handle() {
var startAt = new Date(this.nowTime) * 1000 /1000;
if(startAt < Date.now()) {
this.nowTime = new Date();
}
},
}
};
</script>
获取nowTime 当前本机电脑时间的插件times.js: 2020-10-21 15:24:55
times.js:
export function FromDates() {
const timeStamp = new Date()
let year = (new Date(timeStamp).getFullYear()).toString()
let month = (new Date(timeStamp).getMonth() + 1 < 10 ? '0' + (new Date(timeStamp).getMonth() + 1) : new Date(timeStamp).getMonth() + 1).toString()
let date = (new Date(timeStamp).getDate() < 10 ? '0' + new Date(timeStamp).getDate() : new Date(timeStamp).getDate()).toString()
let hh = (new Date(timeStamp).getHours() < 10 ? '0' + new Date(timeStamp).getHours() : new Date(timeStamp).getHours()).toString()
let mm = (new Date(timeStamp).getMinutes() < 10 ? '0' + new Date(timeStamp).getMinutes() : new Date(timeStamp).getMinutes()).toString()
let ss = (new Date(timeStamp).getSeconds() < 10 ? '0' + new Date(timeStamp).getSeconds() : new Date(timeStamp).getSeconds()).toString()
let nowTime = year + month + date + hh + mm + ss
return nowTime
}
export function FromTimes(timeStamp) { // 时间转换
let year = new Date(timeStamp).getFullYear()
let month = new Date(timeStamp).getMonth() + 1 < 10 ? '0' + (new Date(timeStamp).getMonth() + 1) : new Date(timeStamp).getMonth() + 1
let date = new Date(timeStamp).getDate() < 10 ? '0' + new Date(timeStamp).getDate() : new Date(timeStamp).getDate()
let hh = new Date(timeStamp).getHours() < 10 ? '0' + new Date(timeStamp).getHours() : new Date(timeStamp).getHours()
let mm = new Date(timeStamp).getMinutes() < 10 ? '0' + new Date(timeStamp).getMinutes() : new Date(timeStamp).getMinutes()
let ss = new Date(timeStamp).getSeconds()