因此,现在我的代码具有以下内容:
if(DateA <= utcNow || (DateA == null && DateB <= utcNow)) doSomething();
我现在想做这样的事情:
if(!InitialExpression) continue;
AFAIK,如果为A || B
,则取反为!A && !B
。
但这不起作用:if(DateA > utcNow && (DateA != null || DateB > utcNow)) continue;
。
当DateA = null
和DateB > utcNow
出现时,它应该属于继续,但不是。
我的错误是假设DateA <= utcNow
的反义词是DateA > utcNow
。但这是DateA == null || DateA > utcNow
答案 0 :(得分:0)
ELSE
语句 if(DateA <= utcNow || (DateA == null && DateB <= utcNow))
{doSomething()
}else{
dpSomethingElse();
!
if(!(DateA <= utcNow || (DateA == null && DateB <= utcNow))) doSomethingElse();
if((DateA != null && DateA > utcNow) || DateB > utcNow) doSomethingElse()
答案 1 :(得分:0)
DateA <= utcNow || (DateA == null && DateB <= utcNow)
的反义词是
(DateA == null || DateA > utcNow) && (DateA != null || DateB == null || DateB > utcNow)
答案 2 :(得分:0)
@Felipe,您的逻辑还不错。只是您忽略了一个小方面。
>
的取反不只是NULL
,它还包含一个OR
值。只需将这两个条件与一个(DateA == null || DateA > utcNow) && (DateA != null || DateB == null || DateB > utcNow)
运算符相加即可。这应该起作用。
检查以下更新的语句:
add_filter