1.序言:
daterangepicker是Bootstrap的一个时间组件,使用很方便
用于选择日期范围的JavaScript组件。 设计用于Bootstrap CSS框架。
它最初是为了改善报表而创建的,它可以连接到任何网页元素,弹出两个日历,用于选择日期、时间或从预定义的范围,如“最后30天”。
2.需要的js和css:
bootstrap.min.css
daterangepicker.css
jquery.js
bootstrap.min.js
moment.js
daterangepicker.js
3.配置详解参考网址:
配置详解(不太全,但够了):https://www.cnblogs.com/leijing0607/p/7698414.html
配置详解(配合上面一起看):http://blog.csdn.net/Webben/article/details/78319276
问题已经小BUG修复(可以看看):https://www.cnblogs.com/gtlm/p/7719739.html
4.小dome
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link href="bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="all" href="daterangepicker.css" />
</head>
<body>
<form class="form-inline">
<div id="divDateId" class="pull-left dateRange">
<input class="form-control" id="searchDate"></input>
<!-- <i class="glyphicon glyphicon-calendar fa fa-calendar"></i> -->
</div>
</form>
</body>
<script src="jquery-1.12.4.min.js"></script>
<script src="bootstrap.min.js"></script>
<script type="text/javascript" src="moment.min.js" ></script>
<script type="text/javascript" src="daterangepicker.js" ></script>
<script type="text/javascript">
//初始化原始页面 默认30天
$('#divDateId input').val(moment().subtract('days', 29).format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD'));
$('#divDateId').daterangepicker({
minDate: '01/01/2015', //最小时间
maxDate : moment(), //最大时间
dateLimit : {
days : 365*5
}, //起止时间的最大间隔
showDropdowns : true,
showWeekNumbers : false, //是否显示第几周
timePicker : false, //是否显示小时和分钟
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', //控件中from和to 显示的日期格式
separator : ' to ',
locale : {
applyLabel : '确定',
cancelLabel : '取消',
fromLabel : '起始时间',
toLabel : '结束时间',
customRangeLabel : '自定义',
daysOfWeek : [ '日', '一', '二', '三', '四', '五', '六' ],
monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月',
'七月', '八月', '九月', '十月', '十一月', '十二月' ],
firstDay : 1
} //汉化日期控件
}, function(start, end, label) {
//格式化日期显示框 点击后的操作
$('#searchDate').val(start.format('YYYY-MM-DD') + ' - ' + end.format('YYYY-MM-DD'));
});
</script>
</html>
5.扩展 在angular项目中使用 input的ng-model 双向数据绑定 $watch 监视
1只用多引一个angular-daterangerpicker.js 的插件
案例地址 https://github.com/var-chx/angular-daterangepicker.git