现在我有一些时间比如
上午08:30-11:30,下午12:30-17:30,晚上18:30-21:00
是我的排班时间,然后
09:30-12:00
08:30-10:00
13:00-15:00
19:00-20:00
这些时间是别人替我的班的时间,是不定数量的,现在需要算出我的班次生效时间,就是从我的排班时间里把别人替班的时间减掉,上面给的例子得到我的生效时间
为:
下午12:30-13:00 15:00-17:30 晚上18:30-19:00 20:00-21:00
本来我的思路是:
先取所有的替班时间得并集,然后再用排班时间分成特定部分,
然后每个部分和排班部分一个一个做差集,最后得到生效时间
但是写起代码发现难度有点大,一直没有写出来,也找过一些库,比如moment-range
,这些库,有提供多个时间段之间取交集,差集,和并集的API
,但是这些API和实际的需求还有很多的出入,不能直接用,求大神指点,有没其他思路或者有没有代码的指点。
把时间转换为字符串,然后比较大小就简单了