前两天遇到一个时间段交集的问题。在一个时间段内只能举行一次活动,需要判断活动时间范围是否已经存在了活动,然后我列出了下面这个表达式
------------------------原活动时间------------------------------
时间段a
开始a1
结束a1
时间段b
开始b1
结束b2
时间段c
开始c1
结束c2
------------------------------------------------------
List<date> activityList=new List<date>{a,b,c}
新活动发布时间
时间段n
开始n1
结束n2
foreach (var item in activityList)
{
//时间段n与时间段item的交集出现在 n2>= item1 && n1<= item2 的时候n与item相交
if( n2>= item1 && n1<= item2)
{
//相交时间,开始时间取大值,结束时间取小值
}
}
整理一下,还是挺简单的。
时间: 2024-10-21 05:27:16