如何在bootstrap DateTimepicker中禁用过去的日期和未来时间..?

时间:2017-09-13 12:37:25

标签: javascript jquery twitter-bootstrap eonasdan-datetimepicker

我希望在选择日期时禁用过去日期,并在datetimepicker中选择时间时禁用未来时间

我尝试了以下代码,但它不起作用。

请检查Fiddle

 HTML :

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

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

        <input type="text" class="form-control" id="datetimepicker2" />
    </div>
</div>

JS :

$('#datetimepicker1').datetimepicker({
    viewMode: 'days',
    format: 'DD-MM-YYYY HH:mm',
    maxDate: new Date(),
    minDate:moment()
});

我希望过去日期已停用且未来时间已停用。

对于Ex:

  • 今天14-09-2017然后我想要禁用日历中的所有日期,例如10,12,13等,所有上一个日期都应该被禁用。

  • 24小时时间格式当前时间为12:00然后禁用所有未来时间和分钟时间选择,如13:00,14:00,15:00等时间应禁用。

    < / LI>

请帮助。

1 个答案:

答案 0 :(得分:0)

Datetimepicker允许名为enabledHours的选项。此选项可能会有所帮助 https://eonasdan.github.io/bootstrap-datetimepicker/Functions/#endisabledhours

这是一段代码片段,我们获取当前小时并计算过去几小时并将其作为启用小时数组传递

var currentdatetime=new Date();
var currenthour = currentdatetime.getHours();

var hourstoenable = new Array();
for (var i = 0; i <= currenthour; i++) {
  hourstoenable.push(currenthour-i);
}


$('#datetimepicker1').datetimepicker({
    viewMode: 'days',
    format: 'DD-MM-YYYY HH:mm',
    minDate:moment(),
    enabledHours: hourstoenable
});