从IF语句中排除两个时间间隔
本文关键字:两个 时间 语句 IF 排除 | 更新日期: 2023-09-27 18:18:58
我试图在24小时内从我的IF
声明中排除两个空白。
我有4个不同的小时:
-
dstart = 06:00:00
-
dend = 19:00:00
-
start = 02:00:00
-
end = 03:00:00
和now
,这是当前时间。
我想写一段代码,只有当它不属于这个类别时才执行。
IF NOW不在
19:00:00 AND 02:00:00 AND
03:00:00 AND 06:00:00
这是我的。
if ((now > dend && now < start) || (now > end && now < dstart))
{
//skip
}
else
{
//Do something
}
如果now
在以下任何一个小时:
now = new TimeSpan(04,01,00); // works
now = new TimeSpan(05,01,00); // works
IF
语句成功。
但是,如果时间在这两个小时之间
now = new TimeSpan(19,01,00);
now = new TimeSpan(20,01,00);
now = new TimeSpan(21,01,00);
now = new TimeSpan(22,01,00);
now = new TimeSpan(23,01,00);
now = new TimeSpan(24,01,00);
now = new TimeSpan(01,01,00);
失败,转到ELSE
语句。这是不应该的。我做错了什么?
对于失败的例子,Now是> end,但不是if (now >= dend || now <= start || (now >= end && now < dstart))
{
//skip
}
else
{
//Do something
}