基于持续时间的空闲时间-NODEJS

时间:2019-02-12 17:19:10

标签: node.js duration timeslots

我有一个忙碌的清单。通过下面的代码,我设法找到了繁忙时段内可用的空闲时隙。但是我想根据给定的持续时间找到空闲时隙。下面的代码生成了我的可用间隔,但是我想根据持续时间生成它们。例如,如果持续时间是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;

0 个答案:

没有答案