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