我在这里有一个函数,如果当前时间在两个军事时间之间,则试图返回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