开放时间段的日期时间搜索列表

时间:2014-03-18 22:47:49

标签: c# datetime

给定一个包含开始和结束时间搜索的对象列表,以查看输入日期时间的开始和结束是否落在列表中任何元素的时间跨度内。

即。 8:30-9:30,10:00-12:00,12:30-1:00,1:30-2:30,2:30-4:00

我玩过:     testPlans.Where(plan => plan.p_startDateTime> = startDate || plan.p_endDateTime< = endDate)

但是我很难过。

1 个答案:

答案 0 :(得分:0)

这似乎有效。总是欢迎改进。

if(testPlans.Where(plan =>  startDate >= plan.p_startDateTime && endDate <= plan.p_endDateTime).Count() > 0)
            {
                return false;
            }
            else
            {
                if(testPlans.Where(plan =>  startDate > plan.p_startDateTime && startDate < plan.p_endDateTime).Count() > 0)
                {
                    return false;
                }
                else
                {
                    if(testPlans.Where(plan =>  endDate > plan.p_startDateTime && endDate < plan.p_endDateTime).Count() > 0)
                    {
                        return false;
                    }
                    else
                    {
                        return true;
                    }
                }
            }