Nullreference Q&A 编程技术问答社区
第一次访问本站?请查看 FAQ!
x
+1 投票
94 浏览

在 C# 中怎么判断当前时间是不是在某一时间段内?

最新提问 11月 7, 2016 分类:C# | 用户: hodoo | 94 浏览

1个回答

0 投票

使用 TimeOfDay 获取开始时间和结束时间的当天的时间,然后和给定时间的 TimeOfDay 比较。

private bool IsTimeOfDayBetween(DateTime time, TimeSpan startTime, TimeSpan endTime)
{
	if (endTime == startTime)
	{
		return true;
	}
	if (endTime < startTime)
	{
		return time.TimeOfDay <= endTime ||
			   time.TimeOfDay >= startTime;
	}
	return time.TimeOfDay >= startTime && time.TimeOfDay <= endTime;
}

使用

var startTime = new TimeSpan(1, 30, 0);
var endTime = new TimeSpan(5, 0, 0);
var result = IsTimeOfDayBetween(DateTime.Now, startTime, endTime);
最新回答 11月 13, 2016 用户: peter