Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果日期早于当前日期,则给出错误_Php - Fatal编程技术网

Php 如果日期早于当前日期,则给出错误

Php 如果日期早于当前日期,则给出错误,php,Php,我试图在提交表单之前创建一个php错误。 如果输入日期早于当前日期,则 回显您的输入日期是旧的 . 但是我的代码中有一些问题。。请帮忙 PHP if(strotime($\u POST['expiration\u date'])

我试图在提交表单之前创建一个php错误。 如果输入日期早于当前日期,则 回显您的输入日期是旧的 . 但是我的代码中有一些问题。。请帮忙

PHP

if(strotime($\u POST['expiration\u date'])
HTML


DateTime()
使得这一点很容易做到(假设
$\u POST['expiration\u date']的DD/MM/YYY格式
<2014年1月12日
的日期格式不明确。是12月1日还是1月12日?:

$date=DateTime::createFromFormat('d/m/Y',$\u POST['expiration\u date']);
$now=新日期时间();
如果($date<$now){
$errors[]='您的输入日期旧';
}

DateTime
对象是可比较的,因此您不必将它们转换为时间戳或字符串来比较它们。

$\u POST['expiration\u date']
的值?如果您想在提交帖子之前“显示用户和错误”,请使用Javascript进行操作。在PHP中执行意味着它已经发布了。$u POST['expiration\u date']的值是2014年1月12日,有什么问题吗?它是否总是声称输入是旧的?从不说它是旧的?你们有什么有效期?是不是strotime()可以转换为time()值?最后,time()是GMT,而strotime()可能使用某个特定时区转换为GMT。另外,请注意假定的时间和日期格式(2014年1月12日的示例在美国是月/日/年,在欧洲大部分地区是日/月/年)。千万不要声称它是旧的,+1,因为它比strotime()好。,而且设置格式是应该经常做的事情!对不起,现在是2012年1月12日
if (strtotime($_POST['expiry_date']) < time()) {
    $errors[] = 'Your input date is old';
}
<input type="text" name="expiry_date" >
$date = DateTime::createFromFormat('d/m/Y', $_POST['expiry_date']);
$now  = new DateTime();
if ($date < $now) {
    $errors[] = 'Your input date is old';
}