jeDate日期控件在项目中实际应用

简介: jeDate日期控件在项目中实际应用

需求:

1:可提供日期不超过当前日期或者(验证选中日期是否超过今天)

2:日期验证

3:input表格里面获取当前系统默认日期

4:选着日期点击选中后点确定按钮才关闭

5:验证结束日期大于开始日期


<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
        <title> </title>
        <link type="text/css" rel="stylesheet" href="jeDate-gh-pages/test/jeDate-test.css">
        <link type="text/css" rel="stylesheet" href="jeDate-gh-pages/skin/jedate.css">
        <script type="text/javascript" src="jeDate-gh-pages/src/jedate.js"></script>
        <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
    </head>
    <body>
        <input type="text" class="form-control input-medium" placeholder="开始时间" id="startTime" />
        <input type="text" class="form-control input-medium" placeholder="结束时间" id="endTime" />
        <button type="submit" id="btnsearch">搜索</button>
    </body>
    <script type="text/javascript">
        //可提供日期不超过当前日期
            Date.prototype.format = function(format) {
            var o = {
                "M+" : this.getMonth() + 1, // month
                "d+" : this.getDate(), // day
                "h+" : this.getHours(), // hour
                "m+" : this.getMinutes(), // minute
                "s+" : this.getSeconds(), // second
                "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
                "S" : this.getMilliseconds()
            // millisecond
            };
            if (/(y+)/.test(format)) {
                format = format.replace(RegExp.$1, (this.getFullYear() + "")
                        .substr(4 - RegExp.$1.length));
            }
            for ( var k in o) {
                if (new RegExp("(" + k + ")").test(format)) {
                    format = format.replace(RegExp.$1,
                            RegExp.$1.length == 1 ? o[k] : ("00" + o[k])
                                    .substr(("" + o[k]).length));
                }
            }
            return format;
        };
        var nowt = new Date().format("yyyy-MM-dd");
        //选中后点确定按钮才关闭
        jeDate("#startTime", {
            onClose : true,
            theme : {
                bgcolor : "#00A1CB",
                color : "#ffffff",
                pnColor : "#00CCFF"
            },
            format : 'YYYY-MM-DD hh:mm:ss',
            maxDate : nowt
        });
        jeDate("#endTime", {
            onClose : true,
            theme : {
                bgcolor : "#00A1CB",
                color : "#ffffff",
                pnColor : "#00CCFF"
            },
            format : 'YYYY-MM-DD hh:mm:ss',
            maxDate : nowt
        });
        //默认input是系统当前时间选择
        var mydateInput = document.getElementById("startTime");
        var date = new Date();
        /*  date.setMonth(date.getMonth()-1); */
        var dateString = date.getFullYear() + "-" + (date.getMonth() + 1) + "-"
                + date.getDate() + "  " + "8:00:00";
        mydateInput.value = dateString;
        var mydateInputs = document.getElementById("endTime");
        var dates = new Date();
        var dateStrings = dates.getFullYear() + "-" + (dates.getMonth() + 1)
                + "-" + dates.getDate() + "  " + "18:00:00";
        mydateInputs.value = dateStrings;
        // 点击事件
        $("#btnsearch").click(function() {
            if(validate()) {
                return;
            }
        })
        // 验证年月
        function validate(numb) {
            if($("#startTime").val() == '') {
                alert("开始日期不可为空");
                return true;
            }
            if(diffDate($("#startTime").val()) == 0) {
                alert("开始日期不能超过当前日期");
                return true;
            }
            if($("#endTime").val() == '') {
                alert("结束日期不可为空");
                return true;
            }
            if(diffDate($("#endTime").val()) == 0) {
                alert("结束日期不能超过当前日期");
                return true;
            }
            if(validateDate($("#startTime").val(), $("#endTime").val())) {
                alert('结束日期不得小于开始日期')
                return true;
            }
            return false;
        }
        // 验证选中日期是否超过今天(和可提供日期不超过当前日期查不多需求)
        function diffDate(evalue) {
            var date = new Date(Date.parse(evalue.replace(/-/g, "/")));
            if(new Date() >= date) {
                return 1;
            }
            return 0;
        }
        // 验证结束日期大于开始日期
        function validateDate(beginTime, endTime) {
            var bd = new Date(Date.parse(beginTime));
            var ed = new Date(Date.parse(endTime));
            return bd > ed;
        }
    </script>
</html>
相关文章
|
4月前
|
人工智能 前端开发 JavaScript
SpringBoot实现网页消息推送的5种方法
本文详细介绍了在SpringBoot中实现网页消息推送的几种主流方案,包括短轮询、长轮询、SSE(Server-Sent Events)、WebSocket以及STOMP。每种方案各有优缺点,适用于不同的场景需求。短轮询简单易实现但效率低;长轮询提升了实时性但仍有限制;SSE适合单向通信且轻量高效;WebSocket支持全双工通信,适合高实时性要求的场景;STOMP基于WebSocket,提供更高级的消息传递功能。通过对比分析,开发者可根据业务需求、性能要求及浏览器兼容性选择最适合的技术方案,同时可结合多种技术实现优雅降级,优化用户体验。
771 57
|
11月前
|
存储 监控 关系型数据库
MySQL数据库数据块大小详解
MySQL数据库数据块大小详解
454 0
|
Prometheus 监控 Cloud Native
使用 Jenkins 监控和优化构建性能
【8月更文第31天】在软件开发的过程中,构建性能直接影响着开发效率和团队的生产力。一个快速、可靠的构建流程可以显著加快迭代速度,减少等待时间,使团队能够更快地响应变化。Jenkins 作为一款广泛使用的持续集成/持续交付(CI/CD)工具,提供了丰富的功能来帮助开发者监控和优化构建性能。本文将探讨如何利用 Jenkins 的内置工具和外部工具来监控构建性能,并提出一些具体的优化方案。
977 0
|
SQL Java 关系型数据库
MyBatis中mapper.xml中foreach的使用
MyBatis中mapper.xml中foreach的使用
730 0
|
Web App开发 缓存 JavaScript
Windows下的Node.js安装与环境变量配置
Windows下的Node.js安装与环境变量配置
3453 1
|
监控 关系型数据库 MySQL
SpringBoot + ShardingSphere-JDBC 实现读写分离
上一篇我们用 ShardingSphere-Proxy实现了读写分离 ShardingSphere 实战之读写分离 这一次我们用 ShardingSphere-JDBC 来实现一下
SpringBoot + ShardingSphere-JDBC 实现读写分离
|
SQL 关系型数据库 MySQL
安装MySQL详细说明(以及各种报错问题的解决)
安装MySQL详细说明(以及各种报错问题的解决)
|
消息中间件 设计模式 缓存
高级 Java 必须突破的 10 个知识点!
工作多少年了,还在传统公司写if / for 等简单的代码?那你就真的要被社会淘汰了,工作多年其实你与初级工程师又有多少区别呢?那么作为一个高级Java攻城狮需要突破哪些知识点呢?
|
人工智能 分布式计算 大数据
阿里巴巴云计算进驻水泥行业 MaxCompute助力企业“智慧大脑”
7月10日,山东能源淄矿集团和阿里云计算公司签署协议,共同推动新旧动能转换合作项目。其中,淄矿东华水泥智慧大脑项目,是淄矿东华水泥联合阿里云打造的新旧动能转换标杆项目。这也是淄矿集团与阿里云合作签约后的首个落地项目。
4455 0
|
1天前
|
人工智能 运维 安全