我有一组称为setTimes的时间间隔,如下所示:

[a,d] [h,j] [k,l]

另一组时间是这样的:
[a,c] [b,e] [e,g] [f,i] [k,l] [i,m]

rawTimes需要转换为新的间隔,这些间隔在rawTimes指定的间隔内。所以结果集是:
[a,c] [b,d] [h,i] [k,l] [i,j] [k,l]

(其中a基本上,结果集都应该包含在setTimes集中的间隔内有可能setTimes中的一个间隔可以被分割成多个片段,或者它甚至永远无法进入最后一组。
目前我所做的是将rawTimes间隔中的每个开始时间添加到名为setTimes的列表中,并将结束时间添加到startTimes中。所以:
startTimes = a , h , k
endTimes = d , j , l

但我被困在那里了我不知道从那里去哪里。

最佳答案

您可以使用Allen's interval algebra

关于c# - 如何基于一组起始时间将一组时间间隔转换为另一组时间间隔,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11871617/

10-14 20:32