检查两个DateTime之间是否存在日期,无论年份如何

时间:2011-12-14 17:11:06

标签: c# html datetime timespan

TL;博士; 您将如何参加StartDate-DateTime:2011年12月10日,EndDate-DateTime 2012年1月15日,并确定12月1日,12月9日,12月17日,12月25日,1月1日和1月9日是否符合TimeSpan,年份排除和每个人都得到一个Bool?

我有一个可视时间跨度,由一个线性图表组成,显示特定活动何时处于活动状态。

enter image description here

我收到一个有开始日期和结束日期的对象。

我用DIV覆盖时间跨度,红色背景代表每个月的1/4,命名为JanQ1,JanQ2等。

这些以可见性开始:隐藏,但如果活动在一年中的某个时段处于活动状态,则需要进行更改。

我遇到的问题是得到一个忽略所给出年份的真/假值。

例如,从2011年12月10日到2012年1月15日的事件,我想要这个结果集:

DecQ1=False,
DecQ2=True,
DecQ3=True,
DecQ4=True,
JanQ1=True,
JanQ2=True,
JanQ3=False

2 个答案:

答案 0 :(得分:1)

这样的功能会对你有用吗?

bool IsDateContained(DateTime startDate, DateTime endDate, int month, int day) {
    bool retVal = false;
    if (startDate < endDate) {
        do {
            if (startDate.Month == month && startDate.Day == day) {
                retVal = true;
                break;
            }
            startDate = startDate.AddDays(1);
        } while (startDate < endDate);
    } else {
        //crazy world!!
    }
    return retVal;
}

答案 1 :(得分:0)

在比较之前创建新的DateTime对象,方法是将它们设置为同一年 - http://msdn.microsoft.com/en-us/library/wb249tb7.aspx