近日,在使用 bootstrap datetimepicker 插件的时候发现,点击后是从1899年12月开始的,而要调整到2017年的日期,需要经过多次点击才能实现,非常麻烦。查找资料发现,可以在初始化 datetime 选项的时候增加startDate设置:
$(".form_datetime").datetimepicker({ autoclose: true, minView: "month", //选择日期后,不会再跳转去选择时分秒 language: 'zh-CN', format: "yyyy-mm-dd", forceParse: 0, pickTime: false, pickerPosition: "bottom-right", startDate:"2017-01-01", //initialDate:now, onSelect: function (dateText, inst) { // 不做任何处理 } });
startDate 设置为2017-01-01,可以解决此问题,但是,由于此设置使针对整个网站的datetime插件起作用,而我只需要在某一个页面限制此起始日期时间。
于是我在此页面的js初始化加载中加入:
$(".form_datetime").datetimepicker({ startDate: "2017-01-01" });但是调试后发现,不起作用,出现的起始日期仍然是1899,怀疑datetimepicker选项初始化的时候只能在一个地方进行初始化。然后又扒资料,看如何解决。最后在bootstrap datetime文档 找到解决办法。
首先发现了方法使用说明:
$('.datepicker').datepicker('update', '2011-03-05');这是update方法的使用。然后找到了setStartDate方法。这样构造的方法是这样的:
$(".form_datetime").datetimepicker("setStartDate", "2017-03-01");刷新,看执行结果,已经是2017年3月了。问题解决