0

我有一个繁忙时间的清单。使用下面的代码,我设法找到了繁忙时间可用的空闲时间段。但是我想根据给定的持续时间找到空闲时间段。下面的代码生成我可用的间隙,但我想根据持续时间生成它们。例如,如果持续时间是 30 分钟,它应该生成可以是 30 分钟的可用时间。

var free_slots = []; 
var start_time = '08:00:00';
var end_time = '17:00:00';
busy_slots.sort(function(a, b){
    return new Date(a.Time_Start) > new Date(b.Time_Start)? 1: -1;
  });
 for(var i=0, l=busy_slots.length; i<l; i++){
    if(prettyDate2(new Date(busy_slots[i].Time_Start)) < start_time){
        busy_slots.splice(i, 1);
        break;
    }

}
for(var i=0, l=busy_slots.length; i<l; i++){
    end_time = busy_slots[i].Time_Start;
    if(i)
    start_time = busy_slots[i-1].Time_End;

    if((end_time && !i) || (end_time && i && busy_slots[i-1].Time_End < busy_slots[i].Time_Start) )
    free_slots.push({date: getDate(busy_slots[i].Time_End) ,start_time: start_time, end_time: end_time});

    if(i+1 === l){
        start_time = busy_slots[i].Time_End;

        if(start_time)
        free_slots.push({ date: getDate(busy_slots[i].Time_End), start_time: start_time, end_time: '17:00:00'});
      }

}
 return free_slots;
4

0 回答 0