Bootstrap datepicker禁用过去的日期而没有当前日期

我想在当前日期之前禁用所有过去的日期,而不是当前日期。 我正在尝试使用bootstrap datepicker库“ bootstrap-datepicker ”并使用以下代码:

$('#date').datepicker({ startDate: new Date() }); 

它工作正常。 但它是禁用日期直到今天。

例如,如果今天是04-20-2013并且我通过设置startDate:new Date()来禁用过去的日期。 但我可以从2013年11月11日选择日期。

更新:我可以解决以下UTC区域:

 var d = new Date(); options["startDate"] = new Date(d.setDate(d.getDate() - 1)); 

或者startDate: "+0d"

但是,当UTC提前一天时,这些方法不起作用。 对于我在加利福尼亚的客户,这意味着在下午5点,我的客户不能再选择当地的当前日期作为有效日期。 为了解决这个问题,我暂时使用startDate: "-1d" ,但当然在5之前,这意味着昨天可见。

有没有人想出一个更好的方法,因为我不想告诉用户投入UTC日期?

提前致谢。

 var date = new Date(); date.setDate(date.getDate()-1); $('#date').datepicker({ startDate: date }); 

HTML

  

JS

 jQuery(function() { var datepicker = $('input.datepicker'); if (datepicker.length > 0) { datepicker.datepicker({ format: "mm/dd/yyyy", startDate: new Date() }); } }); 

这将在打开时突出显示日历中的默认日期为2015年4月26日(2015年4月26日),并禁用当前日期之前的所有日期。

使用minDate

 var date = new Date(); var today = new Date(date.getFullYear(), date.getMonth(), date.getDate()); $('#date').datepicker({ minDate: today }); 

使用

 startDate: '-0d' 

喜欢

 $("#datepicker").datepicker({ startDate: '-0d', changeMonth: true }); 
 var nowDate = new Date(); var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0); $('#date').datetimepicker({ startDate: today }); 

您可以使用data属性:

 
  

这里是

   

禁用所有过去的日期

  

禁用所有未来日期

  var date = new Date(); var today = new Date(date.getFullYear(), date.getMonth(), date.getDate()); //Date1 $('#ctl00_ContentPlaceHolder1_txtTranDate').datepicker({ format: 'dd-mm-yyyy', todayHighlight:'TRUE', minDate: today, autoclose: true }); 

试试吧 :

 $(function () { $('#datetimepicker').datetimepicker({ minDate:new Date()}); }); 

请参考小提琴http://jsfiddle.net/Ritwika/gsvh83ry/

 **With three fields having date greater than the **    var date = new Date(); date.setDate(date.getDate()-1); $('.datepickstart').datepicker({ autoclose: true, todayHighlight: true, format: 'dd/mm/yyyy', startDate: date }); $('.datepickstart').datepicker().on('changeDate', function() { var temp = $(this).datepicker('getDate'); var d = new Date(temp); d.setDate(d.getDate() + 1); $('.datepickend').datepicker({ autoclose: true, format: 'dd/mm/yyyy', startDate: d }).on('changeDate', function() { var temp1 = $(this).datepicker('getDate'); var d1 = new Date(temp1); d1.setDate(d1.getDate() + 1); $('.datepickthird').datepicker({ autoclose: true, format: 'dd/mm/yyyy', startDate: d1 }); }); }); 

在HTML中

  

在Js方面

  

禁用过去的日期只需使用:

  $('.input-group.date').datepicker({ format: 'dd/mm/yyyy', startDate: 'today' }); 

要禁用过去的日期并突出显示今天的日期:

 $(function () { $('.input-daterange').datepicker({ startDate : new Date(), todayHighlight : true }); }); 

要禁用未来日期并突出显示今天的日期:

 $(function () { $('.input-daterange').datepicker({ endDate : new Date(), todayHighlight : true }); }); 

有关详细信息,请查看https://bootstrap-datepicker.readthedocs.io/en/latest/options.html?highlight=startdate#quick-reference

这取决于你在datepicker上放置的格式所以首先我们给它格式化。

  var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear(); if(dd<10){ dd='0'+dd; } if(mm<10){ mm='0'+mm; } var today = yyyy+'-'+mm+'-'+dd; //Here you put the format you want 

然后传递datepicker(取决于你使用的版本,可能是startDate或minDate,这是我的情况)

  //Datetimepicker $(function () { $('#datetimepicker1').datetimepicker({ minDate: today, //pass today's date daysOfWeekDisabled: [0], locale: 'es', inline: true, format: 'YYYY-MM-DD HH:mm', //format of my datetime (to save on mysqlphpadmin) sideBySide: true }); }); 

以下对我有用

 $('.input-group.date').datepicker({ format: 'dd/mm/yyyy', startDate: new Date() });