任何人都可以形容我如何将两个给定时间与当前时间进行比较吗?
我的开始时间是上午11点,结束时间是下午1点。我有计时器只在每天上午11点到下午1点之间的时间点打勾。
我有以下代码,但它不能正常工作请检查。
TimeSpan StartHit = new TimeSpan(11, 0, 0);
TimeSpan EndHit = new TimeSpan(1, 0, 0);
if (DateTime.Now.TimeOfDay >= StartHit && DateTime.Now.TimeOfDay <= EndHit)
{
//my task here
}
答案 0 :(得分:3)
您需要在13
中使用1
作为一小时,而不是EndHit
。
TimeSpan StartHit = new TimeSpan(11, 0, 0);
TimeSpan EndHit = new TimeSpan(13, 0, 0);
if (DateTime.Now.TimeOfDay >= StartHit && DateTime.Now.TimeOfDay <= EndHit)
{
//my task here
}
TimeOfDay
property表示自午夜以来过去的时间间隔。如果您使用1
作为一小时,则1 AM
不是1 PM
。
当然,TimeSpan
并未将这些值保留为1 AM
或1 PM
,这些只是它们的字符串表示形式。它将它们保存为1
和13
的整数值。
答案 1 :(得分:2)
使用
TimeSpan EndHit = new TimeSpan(13, 0, 0);
TimeSpan(1,0,0)是凌晨1点
答案 2 :(得分:1)
此代码应该可以正常工作:
DateTime time1 = DateTime.Now;
DateTime time2 = Convert.ToDateTime("11:00:00 AM");
DateTime time3 = Convert.ToDateTime("1:00:00 PM");
if (DateTime.Compare(time1, time3) < 0 && DateTime.Compare(time1, time2) > 0)
{
}
例如,对于DateTime.Compare(time1,time3),如果Time1&gt; time3它返回1,如果time1&lt; time3返回-1,如果time1 = time3则返回0。 我希望这有用。