如何在Bootstrap日期时间选择器中禁用今天以前的日期?

28

无法在Bootstrap日期时间选择器中禁用过去的日期

HTML

<br/>
<div class="row">
    <div class="col-md-12">
         <h6>Datetimepicker</h6>

        <div class="form-group">
            <div class="input-group date" id="datetimepicker">
                <input type="text" class="form-control" />  <span class="input-group-addon"><span class="glyphicon-calendar glyphicon"></span></span>
            </div>
        </div>

    </div>
</div>

JavaScript

$(function () {
    $('#datetimepicker').datetimepicker();
 });

我也使用了startDate属性,但没有起作用。

示例代码请参见此处

3个回答

53

选择时间的钻取功能已被禁用。如何解决?请检查您上面指定的 fiddle 示例。 - Pranesh Janarthanan
组合之前的日期时间被禁用了,您可以选择未来的日期时间。 - Shailendra Sharma
昨天,我解决了这个问题。关键是new Date()会将当前的HH:mm tt作为封闭时间。相反,我们应该直接指定小时,例如:'var date = new Date(); var startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); var endDate = new Date(date.getFullYear(), date.getMonth() + 1, date.getDate(), 23, 59, 59);'https://jsfiddle.net/65vaoqkw/7/#&togetherjs=zELfaP3wpz - Pranesh Janarthanan

12

你可以像这样做:

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

另一种解决方案:

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

如何禁用今天之后的所有日期? - flyingbird013
只需将minDate更改为maxDate:today。 - Atif Tariq

5

我使用了你的Fiddle,并使用以下代码禁用了所有过去的日期,它正常工作。

这是Fiddle和代码:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接