正如前面两个答案所说,要删除经络,您可以结合使用 format 和 showMeridian 用法:
$('.datetimepicker').datetimepicker({
format: "dd-mm-yyyy hh:ii:00",
autoclose: true,
showMeridian: false
});
但是,当 datepicker 在没有选择任何内容或进行不完整选择的情况下失去焦点时会出现故障,它将日期恢复到 1899 年 12 月 31 日(转载于 this example 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 文件夹中)。
相关问题:
Issue #494: Date set to '31 Dec 1899 00:00' when focus lost without selecting date
Issue #153