正如前两个答案所说,要删除经络,您可以将两者结合format
使用showMeridian
:
$('.datetimepicker').datetimepicker({
format: "dd-mm-yyyy hh:ii:00",
autoclose: true,
showMeridian: false
});
但是,当 datepicker 在没有选择任何内容或进行不完整选择的情况下失去焦点时会出现故障,它将日期恢复到 1899 年 12 月 31 日(在此示例 fiddle中重现)。我设法检查bootstrap-datetimepicker.js
文件并找到parseDate
导致此行为的函数:
parseDate: function (date, format, language, type, timezone) {
var parts = date && date.toString().match(this.nonpunctuation) || [],
// this line below represents December 31, 1899 (try using console.log)
date = new Date(0, 0, 0, 0, 0, 0, 0),
// -- skipped for brevity --
val, filtered, part;
// -- skipped for brevity --
}
通过将date
分配更改为当前日期可以进行一些调整:
parseDate: function (date, format, language, type, timezone) {
var parts = date && date.toString().match(this.nonpunctuation) || [],
date = new Date(),
// -- skipped for brevity --
val, filtered, part;
// -- skipped for brevity --
}
注意:此调整仅适用于非 CDN 脚本(通过 NuGet 包安装或手动放置在Scripts
文件夹中)。
相关问题:
问题 #494:当焦点丢失而不选择日期时,日期设置为“1899 年 12 月 31 日 00:00”
问题 #153