我们在使用 .NET、C# 处理定时任务的时候,通常会去判断某个时间DateTime是否在一天中的某个时间段(区间)内,那么.NET似乎没有相应的函数,那么应该怎么做呢?

下面给出示例的代码。
private bool IsInTimeInterval(DateTime time, DateTime startTime, DateTime endTime)
{
//判断时间段开始时间是否小于时间段结束时间,如果不是就交换
if(startTime>endTime)
{
DateTime tempTime=startTime;
startTime=endTime;
endTime=tempTime;
}
//获取以公元元年元旦日时间为基础的新判断时间
DateTime newTime = new DateTime();
newTime=newTime.AddHours(time.Hour);
newTime = newTime.AddMinutes(time.Minute);
newTime = newTime.AddSeconds(time.Second);
//获取以公元元年元旦日时间为基础的区间开始时间
DateTime newStartTime = new DateTime();
newStartTime = newStartTime.AddHours(startTime.Hour);
newStartTime = newStartTime.AddMinutes(startTime.Minute);
newStartTime = newStartTime.AddSeconds(startTime.Second);
//获取以公元元年元旦日时间为基础的区间结束时间
DateTime newEndTime = new DateTime();
if (startTime.Hour > endTime.Hour)
{
newEndTime = newEndTime.AddDays(1);
}
newEndTime = newEndTime.AddHours(endTime.Hour);
newEndTime = newEndTime.AddMinutes(endTime.Minute);
newEndTime = newEndTime.AddSeconds(endTime.Second);
if (newTime > newStartTime && newTime < newEndTime)
{
return true;
}
return false;
}
上面的方法就是判断DateTime是否在一天中的某个时间段,可以直接使用,详细你应该学会了,有问题可以给我留言,谢谢。