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?
我有一个可视时间跨度,由一个线性图表组成,显示特定活动何时处于活动状态。
我收到一个有开始日期和结束日期的对象。
我用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
答案 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。