美文网首页让前端飞
预约表单dome 判断时间差

预约表单dome 判断时间差

作者: 小北酱丶 | 来源:发表于2019-04-29 16:09 被阅读0次
案例.png

需求是做一个预约功能 框架是用mint-ui为基础
选择的日期可以是当天但是以当前时间为基础 不可以是过去时间
结束时间必须大于开始时间

以下是代码

先调用checkDate
//选择的年月日不可以大于当前年月日
//controldate参数是传入当前选择的时间
    function checkDate(controldate) {
        // let controldate;
        // controldate = document.getElementById("sendDate").value;
        if (controldate == "") {
            alert('日期不能为空');
            return false;
        } else {
            var day = new Date();
            var Year = 0;
            var Month = 0;
            var Day = 0;
            var CurrentDate = "";
            //初始化时间 
            Year = day.getFullYear();
            Month = day.getMonth() + 1;
            Day = day.getDate();

            CurrentDate += Year + "-";

            if (Month >= 10) {
                CurrentDate += Month + "-";
            }
            else {
                CurrentDate += "0" + Month + "-";
            }
            if (Day >= 10) {
                CurrentDate += Day;
            }
            else {
                CurrentDate += "0" + Day;
            }
            //alert(CurrentDate);//当前日期 

            var startDate = new Date(CurrentDate.replace("-", ",")).getTime();
            var endDate = new Date(controldate.replace("/", ",")).getTime();
            if (startDate > endDate) {
                // alert('选择日期不能小于当前日期!');
                // document.getElementById("sendDate").focus();
                return false;
            } else {
                return true;
            }
        }
    }

再调用timeData
//传值 日期格式1997/1/1 时间格式14:05 
    function timeData(pickerData,pickerTime,pickerTimeEnd) {
        //获取当前年月日 时间和分钟
        var year = new Date().getFullYear();
        var month = new Date().getMonth() + 1;
        var day = new Date().getDate();
        var hours = new Date().getHours();
        var minutes = new Date().getMinutes();

        //选择日期 开始时间  结束时间
        var pickerData = pickerData.split('/');
        var pickerTime = pickerTime.split(':');
        var pickerTimeEnd = pickerTimeEnd.split(':');

        var dataFlg = false;
        //判断当前选择年份是否相等当前年份
        if (pickerData[0] == year) {
            //判断当前选择月份是否相等当前月份
            if (pickerData[1] == month) {
                //选择日 等于当前日 
                if (pickerData[2] == day) {
                    // 判断开始小时的 时 是否小于或者等于当前小时
                    if (pickerTime[0] < hours) {
                        //小于的话报错
                        dataFlg = true
                    }
                    //如果等于当前小时需要判断分钟
                    else if (pickerTime[0] == hours) {
                        //选择的分钟是否 小于等于当前分钟
                        if (pickerTime[1] <= minutes) {
                            //满足的话报错
                            dataFlg = true
                        }

                    }
                }
            }

        }
        //判断 结束的小时 小于开始的小时
        if (pickerTimeEnd[0] < pickerTime[0]) {
            dataFlg = true
        }
        //如果结束小时等于开始小时 就继续判断分钟 
        else if (pickerTimeEnd[0] == pickerTime[0]) {
            if (pickerTimeEnd[1] <= pickerTime[1]) {
                dataFlg = true
            }
        }
        //true 为时间段不正确 false为时间段正确
        return dataFlg
    }

相关文章

  • 预约表单dome 判断时间差

    需求是做一个预约功能 框架是用mint-ui为基础选择的日期可以是当天但是以当前时间为基础 不可以是过去时间结束时...

  • 时间差获取

    评论了多久前发送的,时间差判断

  • 常见运营工具一览

    表单工具:vote8/金数据/问卷星/表单大师等;用于问卷、报名、登记、预约、订单,甚至是考试表单制作,表单数据收...

  • vue实现列表无限滚动

    1, html 2.js scrollTable(dome, dome1, dome2) {var dome = ...

  • isNaN()函数:检查参数是否是数字值

    在前端页面表单中,经常需要判断输入的内容是否合法。比如要判断表单输入的是否为合法数字,很难用正则表达式或者表单属性...

  • Under the Dome(穹顶之下)

    Under the Dome Season 1‎ (2013) Under the Dome Season 2‎ ...

  • 表单上传图片(记录)

    项目背景:使用form表单,jQuery的ajax上传图片 获取表单数据,判断图片大小,处理图片,上传表单 压缩图...

  • pandas操作实例

    替换异常数据 合并多个df 多列判断 计算时间差 转json

  • JavaScript 表单

    1.JavaScript 表单验证 HTML 表单验证可以通过 JavaScript 来完成。以下实例代码用于判断...

  • Dome

    又一次寒假坐车回家,一切都和之前一样,线路一样,车次一样,站点一样。但一切却也不一样。 本来是过道的位置,靠窗...

网友评论

    本文标题:预约表单dome 判断时间差

    本文链接:https://www.haomeiwen.com/subject/hhaynqtx.html