Bootstrap日期选择插件datetimepicker开始时间不能大于结束时间/结束时间不能小于开始时间

1.利用JS实现获取上个月的今天

   function getLastMonth(){
            var now=new Date();
            var year = now.getFullYear();//getYear()+1900=getFullYear()
            var month = now.getMonth() +1;//0-11表示1-12月
            var day = now.getDate();
            var dateObj = "";
            if(parseInt(month)<10){
                month = "0"+month;
            }
            if(parseInt(day)<10){
                day = "0"+day;
            }

            dateObj = year + '-'+ month + '-' + day;

            if (parseInt(month) ==1) {//如果是1月份,则取上一年的12月份
                dateObj = (parseInt(year) - 1) + '-12-' + day;
                return dateObj;
            }

            var  preSize= new Date(year, parseInt(month)-1, 0).getDate();//上月总天数
            if (preSize < parseInt(day)) {//上月总天数<本月日期,比如3月的30日,在2月中没有30
                dateObj = year + '-' + month + '-01';
                return dateObj;
            }

            if(parseInt(month) <=10){
                dateObj = year + '-0' + (parseInt(month)-1) + '-' + day;
                return dateObj;
            }else{
                dateObj = year + '-' + (parseInt(month)-1) + '-' + day;
                return dateObj;
            }

        }

上面的函数用来规定开始时间(上个月的今日,如果不需要则 initialDate属性设置为 new Date()即可)

2.common.js中封装的datetimepicker插件

$.fn.extend({
    easyDatePicker2 : function (opt) {
        function getLastMonth(){
            var now=new Date();
            var year = now.getFullYear();//getYear()+1900=getFullYear()
            var month = now.getMonth() +1;//0-11表示1-12月
            var day = now.getDate();
            var dateObj = "";
            if(parseInt(month)<10){
                month = "0"+month;
            }
            if(parseInt(day)<10){
                day = "0"+day;
            }

            dateObj = year + '-'+ month + '-' + day;

            if (parseInt(month) ==1) {//如果是1月份,则取上一年的12月份
                dateObj = (parseInt(year) - 1) + '-12-' + day;
                return dateObj;
            }

            var  preSize= new Date(year, parseInt(month)-1, 0).getDate();//上月总天数
            if (preSize < parseInt(day)) {//上月总天数<本月日期,比如3月的30日,在2月中没有30
                dateObj = year + '-' + month + '-01';
                return dateObj;
            }

            if(parseInt(month) <=10){
                dateObj = year + '-0' + (parseInt(month)-1) + '-' + day;
                return dateObj;
            }else{
                dateObj = year + '-' + (parseInt(month)-1) + '-' + day;
                return dateObj;
            }

        }

        var _this = $(this);


        if (opt.type && opt.type == "start"){
            var result = _this.datetimepicker($.extend(true,
                {
                    format: 'yyyy-mm',
                    weekStart: 1,
                    autoclose: true,
                    startView: 3, //年视图,选月
                    minView:'month',
                    forceParse: false,
                    language: 'zh-CN', //中文标识,
                    initialDate : getLastMonth()
                }, opt));
            result.timeCompore = function(start,end){
                var start = start;
                var end = end;
                result.on('changeDate',function (a,b) {

                    a = start;
                    b = end;
                    var starttime = $(a).val();
                    $(b).datetimepicker('setStartDate',starttime);
                    $(b).val("");
                    $(a).datetimepicker('hide');
                })
            }

        }
        if (opt.type && opt.type == "end"){
            var result = _this.datetimepicker($.extend(true,
                {
                    format: 'yyyy-mm',
                    weekStart: 1,
                    autoclose: true,
                    startView: 3, //年视图,选月
                    minView:'month',
                    forceParse: false,
                    language: 'zh-CN', //中文标识,
                }, opt));
            result.timeCompore = function(start,end){
                var start = start;
                var end = end;
                result.on('changeDate',function (a,b) {

                    a = "start";
                    b = "end"


                    var starttime = $(a).val();
                    var endtime= $(b).val();
                    $(a).datetimepicker('setEndDate',endtime);
                    $(a).datetimepicker('hide');


                })
            }
            ;
        }
        result.setDateTime = function (date) {

            _this.datetimepicker("update", new Date(date));
        };

        return result;
    }
})

3.在html中引用

<div class="col-md-6">
                    <label class="col-md-2 control-label">缴费时间</label>
                    <input type="text" id="start"  name="startTime" style="width: 160px;"  autocomplete="off" readonly  />
                    <label class="control-label">至</label>
                    <input type="text" id="end"  name="endTime" style="width: 160px;"  autocomplete="off" readonly />
                    <a id="ctlExportExcel" class="btn btn-primary col-md-offset-1">导出Excel</a>
                </div

JS

 function initPage(){
        window.beginTime = $("#start"). easyDatePicker2({
            //判断开始或者结束时间的标志
            type : "start",
            autoclose: 1,
            todayHighlight: true,
            startView: 2,
            minView: "month",
            format: 'yyyy-mm-dd',
        }).timeCompore("#start","#end");
        window.endTime = $("#end"). easyDatePicker2({
            type : "end",
            format:"yyyy-mm-dd",
            minView:"month",
            todayHighlight : true,
            autoclose:true,
        }).timeCompore("#start","#end")
        window.selctChildHouse = $('#school').easySelect2ForAjax({
            textName: 'name',
            defaultSelected: {
                id: 0,
                text: "全部",
                topmost: true
            },
            api: function(name) {
                return $.adminApi.getSchool({
                    parentId: 0,
                    schoolName: name,
                    pageNo: 1,
                    pageSize: 20
                });
            }

        });
        window.selectCity = $("#city").easySelect2ForAjax({
            textName: 'name',
            defaultSelected: {
                id: '',
                text: "全部",
                topmost: true
            },
            api: function(name) {
                return $.adminApi.getCity({
                    parentId: 0,
                    cityName: name,
                    pageNo: 1,
                    pageSize: 20
                });
            }

        });

    }
    //导出Excel
    $('#ctlExportExcel').click(function () {
        $.messageBox.confirm('导出Excel非常占用服务器资源!<br/>确认要导出吗?', function (btnId) {
            if (btnId == 1) {
                exportsExcel1('infoForm','/aapi/oldworks/paymentList');
            }
        });
        return false;
    });
    $(function () {
        initPage();
    })

猜你喜欢

转载自blog.csdn.net/qq_35126546/article/details/89922251