1

我有一个 WebApplication 将事件管理到像议程这样的表中。对于每个事件,我都有一个StartDateEndDate

在应用程序中,我想将事件导出到图表中,并且我想检查事件是否超过了所需日期的范围。

例如:事件 1:开始日期(9 月 9 日)结束日期(9 月 14 日)

我想检查它是否通过(9 月 10 日 - 9 月 16 日)

这是事件示例图的照片: 在此处输入图像描述

这是一个只检查一个日期的代码:

public static bool Within(this DateTime current, DateTime startTime, DateTime endTime)
    {
        return startTime < currentTime < endTime;
    }

编辑: 为了澄清更多,如果事件超过 2 个日期范围,我希望函数返回 true,即使它在范围之前开始或在范围之后结束,它也应该返回 true。

仅在未通过范围时才返回 false。

4

3 回答 3

1
public static bool Within(DateTime one, DateTime two,
                          DateTime lowBound, DateTime highBound)
{
    return one >= lowBound && two <= highBound;
}
于 2013-11-03T16:18:32.320 回答
0
public static bool Within(this DateTime current, DateTime startTime, DateTime endTime)
    {
        return startTime < currentTime && currentTime < endTime;
    }

并调用它两次

lowDate.Within(eventStart, eventEnd) && heDate.Within(eventStart, eventEnd)
于 2013-11-03T16:15:12.083 回答
0

以这种方式得到答案:

public static bool Within(DateTime StartDate, DateTime EndDate, DateTime StartRange, DateTime EndRange)
    {
        if ((StartDate == EndDate) && (StartRange <= StartDate && StartDate <= EndRange))
            return true;
        else
            return ((StartRange >= StartDate && StartRange <= EndDate) || (EndRange >= StartDate && EndRange <= EndDate));
    }
于 2013-11-03T17:46:55.290 回答