在PHP中检查将来的日期

问题描述:

我是PHP的新手,我正试图让用户需要输入未来日期的用户表单。到目前为止,我所做的是在PHP中检查将来的日期

$now = new DateTime(); 
$expDate = DateTime::createFromFormat('d/m/Y', $expDate); 

if(empty($expDate)){ 
    $ErrE = "Enter EXP Date"; 
    $userinput = false; 
} 

if ($expDate >= $now) 
{ 
    echo 'Enter Correct date'; 
}else{ 
    echo "Ok"; 

} 

HTML

<input type="date" class="form-control" placeholder="EXP ON" name="expDate"> 

但在每一个场景的输出显示确定。有人可以解释我在代码中出了什么问题吗?

感谢

+0

当输入日期不正确时['DateTime :: createFromFormat()'](http://php.net/manual/en/datetime.createfromformat.php)返回'FALSE'和'FALSE axiac

+0

您也可以使用strtotime将字符串日期转换为UNIX时间 – Andreas

下面这行产生以下错误:

$expDate = DateTime::createFromFormat('d/m/Y', $expDate); 

Undefined variable: expDate

,那么它就只能因为你从来没有初始化的变量的意义,但你要使用它的初始化。

将该行更改为未来日期前。

$expDate = new DateTime('2018-01-01'); 

而您的代码示例应该按预期工作。