我在使用datepicker的表单中遇到了dateformat的问题。
在我的表单中,我有2个日期字段 - >开始日期和结束日期。
我想要开始日期<结束日期。所以我使用minDate和maxDate参数。
我还希望日期显示为“dd-mm-yy”。但是,它与minDate和maxDate混淆。
例如,如果我设置StartDate = 2017年1月3日(03-01-2017),我无法在3月2日(02-03-2017)之前设置EndDate,因为我猜,它正在读取日期顺序错误。 (03-01-2017 = 2017年3月1日)。
我该如何解决这个问题?
这是我的代码:
$(document).ready(function() {
$("#startdate").datepicker({
dateFormat: 'dd-mm-yy',
onSelect: function(selected) {
var dt = new Date(selected);
dt.setDate(dt.getDate() + 1);
$("#enddate").datepicker("option", "minDate", dt);
}
});
$("#enddate").datepicker({
dateFormat: 'dd-mm-yy',
onSelect: function(selected) {
var dt = new Date(selected);
dt.setDate(dt.getDate() - 1);
$("#startdate").datepicker("option", "maxDate", dt);
}
});
});
https://jsfiddle.net/Lmxuyjs8/1/
非常感谢
答案 0 :(得分:1)
我想你必须使用
dateFormat:' dd-MM-yy'
答案 1 :(得分:1)
另一种解决方案
$(document).ready(function() {
$.datepicker.setDefaults({
dateFormat: 'dd-mm-yy',
});
$('#startdate').datepicker({
onSelect: function(selectedDate) {
$('#enddate').datepicker('option', 'minDate', selectedDate );
}
});
$('#enddate').datepicker({
onSelect: function(selectedDate) {
$('#startdate').datepicker('option', 'maxDate', selectedDate );
}
});
});