element日期时间选择器设置时间段禁用时分秒的方法

<!-- eslint-disable no-undef -->
<template>
    <div>
        <el-date-picker class="picker" @change="handle_changeEnd" v-model="endTime" value-format="yyyy-MM-dd HH:mm:ss"
            type="datetime" popper-class="date_picker" :picker-options="{
                disabledDate(time) {
                    let curDate = (new Date()).getTime();
                    let three = 7 * 24 * 3600 * 1000;
                    let threeMonths = curDate + three;
                    return time.getTime() < Date.now() - 8.46e7 || time.getTime() > threeMonths; //如果没有后面的-8.64e6就是不可以选择今天的
                }, selectableRange: startTimeRange
            }" placeholder="选择日期时间"></el-date-picker>
        <el-button @click="getEndTime">获取时间</el-button>
    </div>
</template>

<script>// @ts-nocheck

import { reactive, toRefs, watch } from 'vue'
import moment from 'moment'
export default {
    setup() {
        const state = reactive({
            beginTime: moment().format("YYYY-MM-DD HH:mm:ss"), // 案发开始时间
            endTime: moment()
                .add(2, "h")
                .format("YYYY-MM-DD HH:mm:ss"),
            startTimeRange: ""
        })
        const sm = {
            getEndTime() {
                console.log(state.beginTime, state.endTime, '32****')
            },
            handle_changeEnd(val) {
                console.log(val, '214');
            }
        }
        watch(() => state.endTime, (newValue) => {
            if (newValue) {
                let nowDate = moment().format('YYYY-MM-DD HH:mm:ss');
                let dt = nowDate.split(" ");
                let st = '';

                if (newValue.split(" ")[0] == dt[0]) {
                    // 是今天,选择 的时间开始为此刻的时分秒
                    st = dt[1];
                } else {
                    // 明天及以后从0时开始
                    st = '00:00:00';
                }

                state.startTimeRange = st + ' - 23:59:59';
                //例如:如果今天此刻时间为10:41:40 则选择时间范围为: 10:41:40 - 23:59:59  
                //否则为:00:00:00- 23:59:59
            }
        })

        return {
            ...toRefs(state),
            ...sm
        }
    }
}
</script>

<style lang="scss" scoped>

</style>
posted @   干饭吧  阅读(2522)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示