JQuery DatePicker-排除日期的动态范围

JQuery DatePicker-排除日期的动态范围,jquery,datepicker,Jquery,Datepicker,我正在使用以下函数,但希望从日期选择器中排除最后20天 因此,用户可以:- 选择下一年的任何未来日期 可以选择20-365天前的任何日期 但不能选择介于今天和20天前之间的日期 我不知道如何排除过去的20天,任何帮助感谢 $(function () { $("#datepicker").datepicker({ dateFormat: "dd/mm/yy", maxDate: '365', minDate: '-365' }); }); da

我正在使用以下函数,但希望从日期选择器中排除最后20天

因此,用户可以:-

选择下一年的任何未来日期

可以选择20-365天前的任何日期

但不能选择介于今天和20天前之间的日期

我不知道如何排除过去的20天,任何帮助感谢

  $(function () {

      $("#datepicker").datepicker({ 

    dateFormat: "dd/mm/yy",
    maxDate: '365',
    minDate: '-365'
});

  });

datepicker的
beforeShowDay
方法允许您运行函数,如果不希望选择日期,则返回false

请参见此处的API文档:

$(函数(){
$(“#日期选择器”)。日期选择器({
日期格式:“日/月/年”,
maxDate:'365',
minDate:“-365”,
beforeShowDay:功能(日期){
//获取当前时间戳
var current=new Date().getTime();
//获取20天前的时间戳
var时间戳=当前-(20*24*60*60*1000);
return[!(date.getTime()>时间戳和date.getTime()
因此,上面的代码应该允许用户选择365天前和365天前之间的日期,不包括前20天


jsidle:

日期选择器的
beforeShowDay
方法允许您运行函数,如果不希望选择日期,则返回false

请参见此处的API文档:

$(函数(){
$(“#日期选择器”)。日期选择器({
日期格式:“日/月/年”,
maxDate:'365',
minDate:“-365”,
beforeShowDay:功能(日期){
//获取当前时间戳
var current=new Date().getTime();
//获取20天前的时间戳
var时间戳=当前-(20*24*60*60*1000);
return[!(date.getTime()>时间戳和date.getTime()
因此,上面的代码应该允许用户选择365天前和365天前之间的日期,不包括前20天


jsiddle:

您可以做这样一个简单的解决方案,并且您可以向.datepicker添加更多属性

$(函数(){
var someDate=新日期();
var dd=someDate.getDate()+20;
var mm=someDate.getMonth()+1;
var y=someDate.getFullYear();
var someFormattedDate=y+','+mm+'/'+dd;
$(“#日期选择器”)。日期选择器({
是的,
minDate:新日期(someFormattedDate)
});
});


日期:

您可以这样做一个简单的解决方案,并且您可以向.datepicker添加更多属性

$(函数(){
var someDate=新日期();
var dd=someDate.getDate()+20;
var mm=someDate.getMonth()+1;
var y=someDate.getFullYear();
var someFormattedDate=y+','+mm+'/'+dd;
$(“#日期选择器”)。日期选择器({
是的,
minDate:新日期(someFormattedDate)
});
});


日期:

这不允许选择20天以上的日期?这不允许选择20天以上的日期?很抱歉,我的代码中有一个小错误,现在应该可以工作了。很高兴能提供帮助!如果你对答案感到满意,请考虑通过点击复选标记来接受它。这向更广泛的社区表明,您已经找到了解决方案,并为我们双方提供了一些代表。我们没有义务这样做。:)很抱歉,我的代码中有一个小错误,现在应该可以工作了。很高兴能提供帮助!如果你对答案感到满意,请考虑通过点击复选标记来接受它。这向更广泛的社区表明,您已经找到了解决方案,并为我们双方提供了一些代表。我们没有义务这样做。:)
$(function () {

  $("#datepicker").datepicker({ 
    dateFormat: "dd/mm/yy",
    maxDate: '365',
    minDate: '-365',
    beforeShowDay: function(date){
      //Get current timestamp
      var current = new Date().getTime();
      //Get timestamp for 20 days ago
      var timestamp = current - (20 * 24 * 60 * 60 * 1000);
      return [!(date.getTime() > timestamp && date.getTime() < current)];
    }
  });

});