如何阻止用户在datetimepicker中输入特定时间?

时间:2017-07-14 07:51:07

标签: datetimepicker

我正在使用angular-bootstrap-datetimepicker。我知道如何限制用户输入特定日期。

$dates.filter(function(date){
            return (date.localDateValue() <= new Date().valueOf()-(24*60*60*1000));
        }).forEach(function(date){
            date.selectable = false;
        })

此代码insode startDateBefore render,阻止用户在当前日期过后24小时输入日期。

但现在我希望用户只进入光谱时代。用户只能选择10:05am to 11:10pm之间的时间。我无法做到这一点。文档没有指定如何将过滤器添加到小时和分钟。任何帮助。

2 个答案:

答案 0 :(得分:1)

Angular Date Time Picker中,beforeRender函数也会使用名为view的参数。因此,我们可以使用view==='hour'限制用户输入过去几小时。我几个小时都错过了代码。

function startDateBeforeRender ($view, $dates, $leftDate, $upDate, $rightDate) {    
  var today = moment().valueOf();
  $dates.filter(function (date) {
    return date.localDateValue() < today -(24*60*60*1000)
  }).forEach(function (date) {
    date.selectable = false; 
  });


// to restrict hours by admin
if ($view === "hour") {
    // restict previous hours
    $dates.filter(function (date) {
    return date.localDateValue() < today
  }).forEach(function (date) {
    date.selectable = false; 
  })

}
}

答案 1 :(得分:0)

date = new Date().valueOf();

if( date > 1000*(10*60+5) ){
    if( date < 1000*(23*60+10) ){
        //Code green, I repeat, CODE GREEN! 
    }
}