我正在做一個函數來檢查24小時格式的時間範圍之間的時間差,但是我的代碼有一些問題,有沒有人可以指出如何解決?當時間落在時間範圍之間時,返回True?
我的代碼:
bool isDoTime(int starthour, int startminute, int endhour, int endminute)
{
TimeSpan start = new TimeSpan(starthour, startminute, 0);
TimeSpan end = new TimeSpan(endhour, endminute, 0);
TimeSpan add24h = new TimeSpan(24, 0, 0);
TimeSpan now = DateTime.Now.TimeOfDay;
if (starthour > endhour || (endhour == starthour && endminute <= startminute))
{
end += add24h;
}
if ((now > start) && (now < end))
{
return true;
}
return false;
}
問題:我想至20:30之間返回true時,當前時間 - 下午3:30,但是當我下面我的代碼運行。條件是返回true只有從8:30到00:00,從00:00不是真的 - 3:30
if (isDoTime(20,30,3,30) //return true from 20:30 - 3:30
{
//dosomething
}
的問題是,你是轉換3:30結束時間爲27:30,但你不2:30當前時間轉換成26 :30。 – 2011-02-10 11:51:14