JQuery EasyUI 扩展方法 日期控件 设置时间段函数

复制代码
/** Jquery扩展方法--by hgx 2018年1月8日--
* 设置时间段函数,开始时间(1号)与结束时间(当前日期)
* 传入参数:--spaceMonth:查询间隔月,1为间隔查询一个月;
*           --addDay:设置结束时间,0为当前日期;
*           --isTime:是否返回日期中带有时间字符串;
* 返回值:arr[0] 开始时间;arr[1] 结束时间
* 调用方法:var arr = $("#TimeStart,#TimeEnd").GetDateStartEndStr(1, -1, true);
* 调用方法:var arr = $("#TimeStart,#TimeEnd").SetDateTimeStartEndStr(1, 0);
**/
(function ($) {
    //easyui-datebox
    $.fn.SetDateStartEndStr = function (spaceMonth, addDay, isTime) {
        var arr = Array(2);
        var obj = $(this);
        //$.parser.parse('#' + obj[0].id);
        //$.parser.parse('#' + obj[1].id);
        var dd = new Date();
        dd.setDate(dd.getDate() + addDay);
        var y = dd.getFullYear();
        var m = dd.getMonth() + 1;
        m = (m < 10 ? '0' : '') + m;
        var d = dd.getDate();
        d = (d < 10 ? '0' : '') + d;
        var enddate = y + "-" + m + "-" + d;
        arr[1] = enddate;
        if (isTime) {
            arr[1] = enddate + " 23:59:59";
        }
        $(obj[1]).datebox("setValue", enddate);
        $(obj[1]).datebox({
            onChange: function (value) {
                arr[1] = value;
                if (isTime) {
                    arr[1] = value + " 23:59:59";
                }
                if (value > enddate) {
                    arr[1] = enddate;
                    if (isTime) {
                        arr[1] = enddate + " 23:59:59";
                    }
                    var obj = $(this);
                    setTimeout(function () {
                        obj.datebox("setValue", enddate);
                    }, 100);
                }
                return arr;
            }
        });
        dd.setMonth(dd.getMonth() + 1 + (spaceMonth * -1));
        y = dd.getFullYear();
        m = dd.getMonth() + 1;
        m = (m < 10 ? '0' : '') + m;
        var startdate = y + "-" + m + "-01";
        arr[0] = startdate;
        if (isTime) {
            arr[0] = startdate + " 00:00:00";
        }
        $(obj[0]).datebox("setValue", startdate);
        $(obj[0]).datebox({
            onChange: function (value) {
                arr[0] = value;
                if (isTime) {
                    arr[0] = value + " 00:00:00";
                }
                return arr;
            }
        });
        return arr;
    }
    //easyui-datetimebox
    $.fn.SetDateTimeStartEndStr = function (spaceMonth, addDay) {
        var arr = Array(2);
        var obj = $(this);
        //$.parser.parse('#' + obj[0].id);
        //$.parser.parse('#' + obj[1].id);
        var dd = new Date();
        dd.setDate(dd.getDate() + addDay);
        var y = dd.getFullYear();
        var m = dd.getMonth() + 1;
        m = (m < 10 ? '0' : '') + m;
        var d = dd.getDate();
        d = (d < 10 ? '0' : '') + d;
        var enddate = y + "-" + m + "-" + d + " 23:59:59";
        arr[1] = enddate;
        $(obj[1]).datebox("setValue", enddate);

        $(obj[1]).datebox({
            onChange: function (value) {
                arr[1] = value;
                if (value > enddate) {
                    arr[1] = enddate;
                    var obj = $(this);
                    setTimeout(function () {
                        obj.datebox("setValue", enddate);
                    }, 100);
                }
                return arr;
            }
        });
        dd.setMonth(dd.getMonth() + 1 + (spaceMonth * -1));
        y = dd.getFullYear();
        m = dd.getMonth() + 1;
        m = (m < 10 ? '0' : '') + m;
        var startdate = y + "-" + m + "-01" + " 00:00:00";
        arr[0] = startdate;
        $(obj[0]).datebox("setValue", startdate);
        $(obj[0]).datebox({
            onChange: function (value) {
                arr[0] = value;
                return arr;
            }
        });
        return arr;
    }
})(jQuery)
复制代码

 

 调用实例:

    <tr>
            <td style="text-align:right">时间范围</td>
            <td>
                <input id="MTimeStart" class="easyui-datetimebox" value="" style="width:135px" />
                <input id="MTimeEnd"  class="easyui-datetimebox" value="" style="width:135px" />
            </td>
        </tr>
<script type="text/javascript">
    var MTime;
    $(function () {
        MTime = $("#MTimeStart,#MTimeEnd").SetDateTimeStartEndStr(-1, 0);
        console.log(MTime);
    });
</script>

获取开始日期: MTime[0]

获取结束日期:MTime[1]

posted @   hg一如既往  阅读(1469)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示