我有一個Calendar對象列表,其中包含ParentId,StartDate和EndDate,它們表示工作班次中斷。任何時候都可以在一個地區進行多次輪班,每個輪班都有不同的休息時間。從日期列表中返回相交日期範圍
我需要能夠得到它們相交的日期範圍,以便我可以確定當前沒有人在哪個區域工作。
舉例來說,如果我有以下轉變遊:
new Calendar { ParentId = 1, StartDate = 2017-06-18 11:50:00, EndDate = 2017-06-18 12:20:00 };
new Calendar { ParentId = 2, StartDate = 2017-06-18 12:10:00, EndDate = 2017-06-18 12:40:00 };
new Calendar { ParentId = 3, StartDate = 2017-06-18 12:15:00, EndDate = 2017-06-18 12:45:00 };
然後交集時間我需要返回是12時15分零零秒 - 12:20:00因爲這是唯一的一次是,地區沒有人在場。
我已經嘗試了.NET庫的時間段,但這隻告訴我存在交集,而不是交集的範圍。
只是要清楚,我不想知道是否存在交叉點或重疊,我需要知道它們出現的範圍。
最好的辦法是通過起始日期進行排序。你應該檢查什麼時候沒有人工作,哪一個是行(x-1)EndDate
jdweng