我在這裏有一個函數,如果當前時間在兩個軍事時間之間,則試圖返回true。如果當前時間介於兩個軍事時間之間,則返回true?
這裏的問題是找到2130
和0700
之間的時間有點棘手。 2130
工作正常,但0700
在2130
之前,所以它在這裏返回false。我怎樣才能讓這個返回true?
只需將&&
切換爲||
?
public bool IsSleeping()
{
DateTime m_dt = DateTime.Now;
string strMilitaryTime;
int time;
strMilitaryTime = m_dt.ToString("HHmm"); // Get current military time
time = Convert.ToInt32(strMilitaryTime); // Convert to int
// The time must be between sleeping hours of 2400 and 0700.
if (time >= 2130 && time < 700)
return true;
return false;
}
「軍事時間」是不是一個東西(或至少,這是一個非常美洲爲中心的術語)。我想你的意思是24小時製表示法,但什麼時區? – Dai
*只需將'&&'切換爲'||'*請嘗試看看。你也可以:'return(time> = 2130 && time <700)' –
使用整數並不理想,用'TimeSpan'來表示時間值。 – Dai