有些情况下bootstrap中datetimepicker会显示1899问题
以下是修改源码解决方法bootstrap-datetimepicker.js中
update: function () {
var date, fromArgs = false;
if (arguments && arguments.length && (typeof arguments[0] === 'string' || arguments[0] instanceof Date)) {
date = arguments[0];
fromArgs = true;
} else {
//在这里加了个判断,原来只有else部分,增加了对自定义格式format的处理
if (this.element.val().length >= 4) {
date = this.element.val();
} else {
date = (this.isInput ? this.element.val() : this.element.find('input').val()) || this.element.data('date') || this.initialDate;
if (typeof date == 'string' || date instanceof String) {
date = date.replace(/^\s+|\s+$/g, '');
}
}
}
this.element.val().length 是输入框的内容长度,这个判断和date的赋值你自己选择,务必做到你输入的date满足自定义格式format要求,不然还是会显示1899问题的。下面是我的格式与输入框内容