您的位置:首页 > Web前端 > BootStrap

bootstrap之双日历时间段选择控件—daterangepicker(汉化版)

2017-05-31 11:53 639 查看
双日历时间段选择插件 — daterangepicker是bootstrap框架后期的一个时间控件,可以设定多个时间段选项,也可以自定义时间段,由用户自己选择起始时间和终止时间,时间段的最大跨度可以在程序里设定。我们项目里用到的Bootstrap版本是2.3.1,所以我把daterangepicker与Bootstrap-2.3.1进行了整合。
 一、需要引入的css与js

[java] view
plain copy

<link href="bootstrap.min.css" rel="stylesheet">      

<link rel="stylesheet" type="text/css" media="all" href="daterangepicker-bs3.css" />  

<link rel="stylesheet" type="text/css" media="all" href="daterangepicker-1.3.7.css" />  

<link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet">  

  

<script type="text/javascript" src="jquery-1.10.1.min.js"></script>  

<script type="text/javascript" src="bootstrap.min.js"></script>  

<script type="text/javascript" src="moment.js"></script>  

<script type="text/javascript" src="daterangepicker-1.3.7.js"></script>  

二、html部分代码

[html] view
plain copy

<div class="page-content">  

            <!-- BEGIN PAGE CONTAINER-->  

    <div class="container-fluid">  

        <div class="row-fluid" style="margin-top:5px">  

            <div class="span4">  

                <div class="control-group">  

                    <label class="control-label">  

                        日期:  

                    </label>  

                <div class="controls">  

                    <div id="reportrange" class="pull-left dateRange" style="width:350px">  

                        <i class="glyphicon glyphicon-calendar fa fa-calendar"></i>  

                        <span id="searchDateRange"></span>  

                        <b class="caret"></b>  

                    </div>  

                </div>  

            </div>  

        </div>  

    </div>  

</div>  

三、使用js调用daterangepicker

[javascript] view
plain copy

<pre name="code" class="html"><pre name="code" class="javascript"><script type="text/javascript">  

        $(document).ready(function (){  

                    //时间插件  

                    $('#reportrange span').html(moment().subtract('hours', 1).format('YYYY-MM-DD HH:mm:ss') + ' - ' + moment().format('YYYY-MM-DD HH:mm:ss'));  

          

                    $('#reportrange').daterangepicker(  

                            {  

                                // startDate: moment().startOf('day'),  

                                //endDate: moment(),  

                                //minDate: '01/01/2012',    //最小时间  

                                maxDate : moment(), //最大时间   

                                dateLimit : {  

                                    days : 30  

                                }, //起止时间的最大间隔  

                                showDropdowns : true,  

                                showWeekNumbers : false, //是否显示第几周  

                                timePicker : true, //是否显示小时和分钟  

                                timePickerIncrement : 60, //时间的增量,单位为分钟  

                                timePicker12Hour : false, //是否使用12小时制来显示时间  

                                ranges : {  

                                    //'最近1小时': [moment().subtract('hours',1), moment()],  

                                    '今日': [moment().startOf('day'), moment()],  

                                    '昨日': [moment().subtract('days', 1).startOf('day'), moment().subtract('days', 1).endOf('day')],  

                                    '最近7日': [moment().subtract('days', 6), moment()],  

                                    '最近30日': [moment().subtract('days', 29), moment()]  

                                },  

                                opens : 'right', //日期选择框的弹出位置  

                                buttonClasses : [ 'btn btn-default' ],  

                                applyClass : 'btn-small btn-primary blue',  

                                cancelClass : 'btn-small',  

                                format : 'YYYY-MM-DD HH:mm:ss', //控件中from和to 显示的日期格式  

                                separator : ' to ',  

                                locale : {  

                                    applyLabel : '确定',  

                                    cancelLabel : '取消',  

                                    fromLabel : '起始时间',  

                                    toLabel : '结束时间',  

                                    customRangeLabel : '自定义',  

                                    daysOfWeek : [ '日', '一', '二', '三', '四', '五', '六' ],  

                                    monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月',  

                                            '七月', '八月', '九月', '十月', '十一月', '十二月' ],  

                                    firstDay : 1  

                                }  

                            }, function(start, end, label) {//格式化日期显示框  

                                  

                                $('#reportrange span').html(start.format('YYYY-MM-DD HH:mm:ss') + ' - ' + end.format('YYYY-MM-DD HH:mm:ss'));  

                           });  

  

            //设置日期菜单被选项  --开始--  

/* 

                  var dateOption ; 

                  if("${riqi}"=='day') { 

                        dateOption = "今日"; 

                  }else if("${riqi}"=='yday') { 

                        dateOption = "昨日"; 

                  }else if("${riqi}"=='week'){ 

                        dateOption ="最近7日"; 

                  }else if("${riqi}"=='month'){ 

                        dateOption ="最近30日"; 

                  }else if("${riqi}"=='year'){ 

                        dateOption ="最近一年"; 

                  }else{ 

                        dateOption = "自定义"; 

                  } 

                   $(".daterangepicker").find("li").each(function (){ 

                        if($(this).hasClass("active")){ 

                            $(this).removeClass("active"); 

                        } 

                        if(dateOption==$(this).html()){ 

                            $(this).addClass("active"); 

                        } 

                  });*/  

                       //设置日期菜单被选项  --结束--  

        })  

    </script>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息