datetimepicker是一个很好用的日期时间选择插件,但是经常会发现点击完之后时间会变成1899年。其实这个问题,不用网上说的什么update,remove什么的方式来解决。
之所以会产生1899年的原因,是因为你input里面正在显示的值和你datetimepicker使用的值的格式是不一样的。因为格式不相同导致datetimepicker无法判断时间是什么,所以才产生回到了1899年这个问题。
解决办法也很简单,只要你的input的显示值和你的datetimepicker使用的值,两个日期时间格式是一样的,就不会出现这个问题了。具体代码如下:
HTML 代码
注意转化时间格式为:yyyy-MM-dd
<input name="ExpiryTime" id="ExpiryTime" value=DateTime.Now.toString("yyyy-MM-dd")>
Js 代码
注意这句:format:“yyyy-mm-dd”
$('#ExpiryTime').datetimepicker({
language: "zh-CN", //汉化
todayBtn: "true", //显示今天按钮
autoclose: true, //选择日期后自动关闭日期选择框
todayHighlight: true, //当天高亮显示
minView: "month", //不显示时分秒
showMeridian: 1,
format:"yyyy-mm-dd",
pickerPosition: "bottom-left"
});
你会发现这两个时间格式调整的不一样一个是大写的M,一个是小写的m。
这是因为在datetimepicker中的大写M代表的是“一月,二月”这种大写,只有小写m才代表 格式。