datepicker,minDate,maxDate + dateformat问题

时间:2017-01-26 14:19:09

标签: javascript jquery date

我在使用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/

非常感谢

2 个答案:

答案 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 );
          }
    });

});

Fork fiddle link