我想要一个逻辑,如果$ due等于没有日期,那么我想从2000开始的数据。下面的代码不起作用。

if($due == '0000-00-00 00:00:00'){
    $due =  strtotime('2000-00-00 00:00:00');
}

最佳答案

如果您将strtotime()存储在$ due中,那么您也需要像这样比较它

if($due == strtotime('0000-00-00 00:00:00')){
    $due =  strtotime('2000-00-00 00:00:00');
}

或者,更简单地说
if($due == 0){
    $due =  strtotime('2000-00-00 00:00:00');
}

但是,如果$ due是作为字符串从您的数据库中获取的,则您需要对其进行strtotime():
$due = strtotime($due);
if($due == 0){
    $due =  strtotime('2000-00-00 00:00:00');
}

但是要注意时区。也就是说,strtotime('0000-00-00 00:00:00 UTC')!= strtotime('0000-00-00 00:00:00 EST')。这也可能会破坏您的比较。

10-06 13:46