如何使用DateTime Picker修复整周的开放时间分钟?

时间:2017-09-07 15:29:28

标签: javascript datetimepicker bootstrap-datetimepicker eonasdan-datetimepicker

使用DateTimepicker我想将商店营业时间设置为整周的10:30 AM(例如)。使用这段代码我可以限制小时数。

var curentDate = new Date();
var lastDate = new Date();
lastDate.setDate(curentDate.getDate() + 6);
$('#txtdate').datetimepicker({
    inline: true,
    sideBySide: true,
    maxDate: lastDate,
    minDate: curentDate,
    enabledHours: HoursArray()
});

我将此设置为15分钟增量,但我不确定如何设置一周内所有日期的分钟数。此外,我想在每天上午10:30之前禁用会议记录。

有人可以指导我吗?

2 个答案:

答案 0 :(得分:2)

我没有看到图书馆暴露任何设置每天默认时间的方法,但您可以使用events APIdate()方法控制自己。你可以听取改变事件这样:

$(document).on('dp.change', manipulateTime);

该活动会显示日历的new dateoldate。如果日期不同,则可以使用date()方法更改新日期的时间。

function manipulateTime(e){

  if(!e.date.isSame(e.oldDate, "day")){
    $(e.target).data("DateTimePicker").date(e.date.set({
      'hour' : 10,
      'minute'  : 30
    }));
  }

}

进一步说明

事件触发时会返回三个必要的引用,dateolddatetarget

调用DateTimePicker函数

  
      
  • 请注意,根据他们的文档,您可以使用他们的方法:所有功能都可以通过数据属性访问,例如:   $( '#的DateTimePicker')。数据( “的DateTimePicker”)。FUNCTION()
  •   

使用活动

当您致电dp.change事件时。回调函数将返回具有以下可访问属性的对象e

e属性

e = {
    date, //date the picker changed to. Type: moment object (clone)
    oldDate //previous date. Type: moment object (clone) or false in the event of a null,
    target // targeted date picker,
    and more...
}

答案 1 :(得分:0)

这是我为解决这两个问题所做的最后一件事

var futureHour  = (new Date(td.date)).getHours();
var futureMin = (new Date(td.date)).getMinutes();

//This is to re-loop time when user tries to select time below 1st pickup time
              if(futureHour <= storeOpenHour && futureMin < storeOpenMinutes){
                $(td.target).data("DateTimePicker").date(td.date.set({
                  'hour' : storeOpenHour,
                  'minute'  : storeOpenMinutes
                }));
                }

                //This is to select 1st pickup time on day change
              if(!td.date.isSame(td.oldDate, "day")){
                $(td.target).data("DateTimePicker").date(td.date.set({
                  'hour' : storeOpenHour,
                  'minute'  : storeOpenMinutes
                }));
              }