如何设置时间选择器仅在 bootstrap-datetimepicker.js 中设置从 8:30 am 到 8:30 pm 的时间?

How to set time picker only set time from 8:30 am to 8:30 pm in bootstrap-datetimepicker.js?

HTML 代码:

<div class="form-group">
      <label class="col-md-3 control-label" for="event_date">Start at</label>  
      <div class="col-md-8">
        <input id="event_start_date" name="event_start_date" type="text"  placeholder="" class="form-control input-md event_date" required="">
          </div>
      </div>

      <div class="form-group">
       <label class="col-md-3 control-label" for="event_date">End at</label>  
         <div class="col-md-8">
      <input id="event_end_date" name="event_end_date" type="text" placeholder="" class="form-control input-md event_date" required="">
      </div>
</div>`

JavaScript代码:

$('#event_start_date').datetimepicker({
    minTime: "08:30:00"
});

我需要将时间选择器开始时间设置为 8:30 上午到结束时间 8:30 下午禁用其他时间选择器。怎么可能请帮忙?

我自己没有尝试过,但是来自 docs

disabledTimeIntervals
4.14.40

Default: false
Disables time selection between the given moments

这里我用这段代码解决了我的问题:

$('.event_date').datetimepicker({
        disabledTimeIntervals: [ [ moment().hour(0), moment().hour(8).minutes(30) ], [ moment().hour(20).minutes(30), moment().hour(24) ] ]
    });

这里缺少文档,但我发现以下项目是关键。

了解日期时间选择器使用 moment.js 库。

disabledTimeIntervals 采用定义时间范围的数组数组。

[ //outer array
  [ start_time, end_time],
  [ second_start_time, second_end_time]
]

另一个关键点是当你定义一个时刻时,你需要包括小时和分钟,保留默认值导致过滤器对我不起作用。

因此,如果您想定义一家从 8:30 AM 到 8:30 PM 营业时间为 30 分钟的商店,它将如下所示:

$('.event_date').datetimepicker({
    disabledTimeIntervals: [
      [moment().hour(0).minutes(0), moment().hour(8).minutes(30)],
      [moment().hour(20).minutes(30), moment().hour(24).minutes(0)]
   ]
});