$(".day").datetimepicker({
autoclose: true,
language: "zh-CN",
startView: 2,
minView: "month",
format: "yyyy-mm-dd",
initialDate: new Date(),
forceParse: 0
});
$(".month").datetimepicker({
language: "zh-CN",
format: "yyyy-mm",
weekStart: 1,
todayBtn: 1,
autoclose: 1,
todayHighlight: 1,
startView: 3, // 这里就设置了默认视图为年视图
minView: 3, // 设置最小视图为年视图
forceParse: 0
});
$(".year").datetimepicker({
format: "yyyy",
weekStart: 1,
autoclose: true,
startView: 4,
minView: 4,
forceParse: false,
language: "zh-CN"
});
// html
至
// js
$('#month [data-time="start"]').datetimepicker({
language: 'zh-CN',
todayBtn: false,
autoclose: true,
startView: 3,//默认视图为年视图
minView: 3,
format: 'yyyy-mm',
forceParse: true,
endDate:TodayMonth
}).on("changeDate",function(e){
$('#month [data-time="end"]').datetimepicker("setStartDate",e.date);//根据前端选择的结束时间设置插件可选择的开始时间
}).val(TodayMonth);
$('#month [data-time="end"]').datetimepicker({
language: 'zh-CN',
todayBtn: false,
autoclose: true,
startView: 3,
minView: 3,
format: 'yyyy-mm',
forceParse: true,
endDate:TodayMonth
}).on("changeDate",function(e){
$('#month [data-time="start"]').datetimepicker("setEndDate",e.date);//根据前端选择的开始时间设置插件可选择的结束时间
}).val(TodayMonth);
注意!
用 datetimepicker 时间插件获取日期的时间区间时,在应用过程中发现月份的选择有两个月的时间偏差,比如: 开始时间选择为2019-01,那结束时间的开始时间应该是在2019-01及之后,但是视图显示2019年的2、3月份都不可选。
解决方法:修改源码
650:
endMonth = this.endDate !== Infinity ? this.endDate.getUTCMonth() + 1 : Infinity, // edit
// endMonth = this.endDate !== Infinity ? this.endDate.getUTCMonth() - 1 : Infinity, // 源码
784:
var months = this.setTitle('.datetimepicker-months', year).end().find('.month').removeClass('active'); // edit
// var months = this.setTitle('.datetimepicker-months', year).end().find('span').removeClass('active'); // 源码