github地址:https://github.com/smalot/bootstrap-datetimepicker
绑定输入框,并设置format选项:
- <input type="text" value="2012-05-15 21:05" id="datetimepicker">
- $('#datetimepicker').datetimepicker({
- format: 'yyyy-mm-dd hh:ii'
- });
绑定输入框,并设置format标记:
- <input type="text" value="2012-05-15 21:05" id="datetimepicker" data-date-format="yyyy-mm-dd hh:ii">
- $('#datetimepicker').datetimepicker();
作为组件使用:
- <div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
- <input size="16" type="text" value="12-02-2012" readonly>
- <span class="add-on"><i class="icon-th"></i></span>
- </div>
- $('#datetimepicker').datetimepicker();
作为内联日期时间选择器:
- <div id="datetimepicker"></div>
- $('#datetimepicker').datetimepicker();
设置2个日期输入框结束时间不小于开始时间
$(".form_datetime").datetimepicker({
todayBtn: true,
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
startView:2,
minView:2,
forceParse: true,
format:'yyyy-mm-dd'
});
默认情况下,开始日期和结束日期之间是不存在关联的,需要我们进行设置。
//日期时间选择器 $("#datetimeStart").datetimepicker({ format: "yyyy-mm-dd", autoclose: true, minView: "month", maxView: "decade", todayBtn: true, pickerPosition: "bottom-left" }).on("click",
,function(ev){ $("#datetimeStart").datetimepicker("setEndDate", $("#datetimeEnd").val()); }); $("#datetimeEnd").datetimepicker({ format: "yyyy-mm-dd", autoclose: true, minView: "month", maxView: "decade", todayBtn: true, pickerPosition: "bottom-left" }).on("click" function (ev) { $("#datetimeEnd").datetimepicker("setStartDate", $("#datetimeStart").val()); });
click时间与changeDate事件是有区别的,刚开始没日期,选择日期后是不是触发changeDate时间的,click是会触发的,我们想要一开始就限定时间,所以要用click事件。
setStartDate
参数:
- startDate (String)
给日期时间选择器设置一个新的起始日期。
- $('#datetimepicker').datetimepicker('setStartDate', '2012-01-01');
Omit startDate (or provide an otherwise falsey value) to unset the limit.
- $('#datetimepicker').datetimepicker('setStartDate');
- $('#datetimepicker').datetimepicker('setStartDate', null);
changeDate
当日期被改变时被触发。
- $('#date-end')
- .datetimepicker()
- .on('changeDate', function(ev){
- if (ev.date.valueOf() < date-start-display.valueOf()){
- ....
- }
- });
设置开始时间不小于今天日期
function getToday() { var d=new Date(); var str=""; str+=d.getFullYear()+"-"; var month=d.getMonth()+1; if(month<10) month="0"+month; var day=d.getDate(); if(day<10) day="0"+day; str+=month; str+="-"; str+=day; return str; } $("#start").on('changeDate', function(ev){ var today=getToday(); $("#start").datetimepicker('setStartDate',today); });
配置选项:
$("'#datetimepicker").datetimepicker({ format: "yyyy-mm-dd hh:ii:ss",//设置时间格式,默认值: 'mm/dd/yyyy' weekStart : 0, //一周从哪一天开始。0(星期日)到6(星期六),默认值0 startDate : "2013-02-14 10:00",//可以被选择的最早时间 endDate : "2016-02-14 10:00",//可以被选择的最晚时间 daysOfWeekDisabled : "0,6",//禁止选择一星期中的某些天,例子中这样是禁止选择周六和周日 autoclose : true,//当选择一个日期之后是否立即关闭此日期时间选择器 startView : 2,//点开插件后显示的界面。0、小时1、天2、月3、年4、十年,默认值2 minView : 0,//插件可以精确到那个时间,比如1的话就只能选择到天,不能选择小时了 maxView:4,//同理 todayBtn : true,//是否在底部显示“今天”按钮 todayHighlight : true,//是否高亮当前时间 keyboardNavigation : true,//是否允许键盘选择时间 language : 'zh-CN',//选择语言,前提是该语言已导入 forceParse : true,//当选择器关闭的时候,是否强制解析输入框中的值。也就是说,当用户在输入框中输入了不正确的日期,选择器将会尽量解析输入的值,并将解析后的正确值按照给定的格式format设置到输入框中 minuteStep : 5,//分钟的间隔 pickerPosition : "bottom-right",//显示的位置,还支持bottom-left viewSelect : 0,//默认和minView相同 showMeridian : true,//是否加上网格 initialDate : "2015-02-14 10:00"//初始化的时间 });