在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">
但在每一个场景的输出显示确定。有人可以解释我在代码中出了什么问题吗?
感谢
答
下面这行产生以下错误:
$expDate = DateTime::createFromFormat('d/m/Y', $expDate);
Undefined variable: expDate
,那么它就只能因为你从来没有初始化的变量的意义,但你要使用它的初始化。
将该行更改为未来日期前。
$expDate = new DateTime('2018-01-01');
而您的代码示例应该按预期工作。
当输入日期不正确时['DateTime :: createFromFormat()'](http://php.net/manual/en/datetime.createfromformat.php)返回'FALSE'和'FALSE axiac
您也可以使用strtotime将字符串日期转换为UNIX时间 – Andreas