c# 怎么当前时间是否在某一个时间段(包括跨夜)?

如,我有一个时间段为:15:00-2:00,现在怎么判断3:00,以及20:00是否在当前时间段

这个问题在stockoverflow上有,我搬运一下:

TimeSpan start = TimeSpan.Parse("22:00"); // 10 PM

TimeSpan end = TimeSpan.Parse("02:00");   // 2 AM

TimeSpan now = DateTime.Now.TimeOfDay;

if (start <= end)

{

// start and stop times are in the same day

if (now >= start && now <= end)

{

// current time is between start and stop

}

}

else

{

// start and stop times are in different days

if (now >= start || now <= end)

{

// current time is between start and stop

}

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-07-01
你的问题有不明确性,比如你说的20:00,系统怎么知道你指的是跨夜前一天的20:00,还是跨夜后那天的呢?如果是前一天的,就是true,后一天的就是false,对吧。所以作为被判断的时间,是没办法得到明确判断结果的。
第2个回答  2020-07-01
时间可以直接用><符号比较