我有一个简单的测试,可以确定2个日期范围之间是否没有重叠,如下所示:
if(strtotime($endDateA) <= strtotime(trim($startDateB)) or strtotime($startDateA) >= strtotime(trim($endDateB))) {
}
如果其中一个是正确的,则两个日期范围不会重叠。我现在需要对此进行翻转以获得相反的情况,但是我不确定如何使用!或||操作员。
我在PHP中没有太多的经验,到目前为止还没有任何工作。在其他语言中,我通常会做这样的事情:
(EndA <= StartB or StartA >= EndB) // original test
NOT (EndA <= StartB or StartA >= EndB) // opposite test
,但我无法弄清楚如何在php中做同样的事情。
如果要倒入任何逻辑语句,例如
if(strtotime($endDateA) <= strtotime(trim($startDateB))
or strtotime($startDateA) >= strtotime(trim($endDateB)))
您可以使用!
倒转整个过程,但这可能会使很难理解(IMHO(。
如果您将条件倒置 - 因此<=
变为>
,>=
变为<
并将or
翻转为and
,则可以给您
if(strtotime($endDateA) > strtotime(trim($startDateB))
and strtotime($startDateA) < strtotime(trim($endDateB)))