客户表:
CustomerID;CustomerName;BatchDeadline
1;AAA;1
2;BBB;2
3;CCC;2
4;DDD;3
* BatchDeadline:BatchDate之后的天数,如果2表示批处理表中第二天的BatchDate。
批次表:
BatchID;CustomerID;BatchDate
1;1;2015-03-02 8:00
2;2;2015-03-02 8:10
3;2;2015-03-03 10:20
4;1;2015-03-04 11:10
5;3;2015-03-04 11:12
6;3;2015-03-04 19:22
7;3;2015-03-05 11:23
我试图获得超过截止日期的批次数,以及截止日期(截止日期前2小时)的批次数。
DateTime now = DateTime.Now;
foreach(customer c in customers)
{
foreach(Batch b in batches)
{
DateTime deadline = b.BatchDate.AddDays(c.BatchDate);
DateTime nearDeadline = deadline.AddHours(-2);
if (now > deadline) {
// passed the deadline
} else if (now >= nearDeadline) {
// near the deadline
}
}
}
上述代码在我24小时办理登机手续时工作正常。如何在上午8点到下午4点之间检查?
说清楚:我想要在晚上时间,包括办公时间。在办公时间上午8点到下午4点检查通过截止日期和截止日期的批次。