Php 比较日期
嗨,我想要一些比较日期的帮助。这是我的密码Php 比较日期,php,date,Php,Date,嗨,我想要一些比较日期的帮助。这是我的密码 date_default_timezone_set('Europe/London'); // get today's date $datetoday = date('Y-m-d'); if ($datetoday > $pickup_date) { array_push($errors, "this pickup date is invalid, it has already passed"); 取货日期是我从表格中收集的值,以下是表格
date_default_timezone_set('Europe/London');
// get today's date
$datetoday = date('Y-m-d');
if ($datetoday > $pickup_date) {
array_push($errors, "this pickup date is invalid, it has already passed");
取货日期是我从表格中收集的值,以下是表格的代码:
<div class="input-group">
<label>Pickup Date</label>
<input type="date" name="pickup_date" >
</div>
取货日期
我想要的是用户不能将取货日期设置为已经过去的日期。我的系统是预订系统。他们应该只能设置在今天日期之后的日期
但是当前的代码不起作用,它仍然允许用户在今天的日期之前和之后预订日期。我甚至尝试在比较日期的地方切换比较运算符
谢谢,非常感谢您的帮助。您不是在比较日期,而是在比较字符串。尝试改用:
date\u default\u timezone\u set(“欧洲/伦敦”);
$picking_date=\DateTime::createFromFormat('Y-m-d',$_POST['picking_date']);
//得到今天的日期
$datetoday=\DateTime::create('midnight');
如果($datetoday>$picku\u date){
数组_push($errors,“此拾取日期无效,已过”);
}
您不是在比较日期,而是在比较字符串。尝试改用:
date\u default\u timezone\u set(“欧洲/伦敦”);
$picking_date=\DateTime::createFromFormat('Y-m-d',$_POST['picking_date']);
//得到今天的日期
$datetoday=\DateTime::create('midnight');
如果($datetoday>$picku\u date){
数组_push($errors,“此拾取日期无效,已过”);
}
取货日期的格式是什么?要进行故障排除,您可以尝试输出两个值:var_dump($datetoday);var_转储($picku_date)代码>。您可能需要date('Ymd')
,或者只需使用time()
,并使用strotime()
将表单日期转换为时间戳。鉴于
的默认格式为“YYYY-MM-DD”,这里有一个。提供的答案是否有用?你应该投赞成票▲ 如果你有这样做的声誉,所有的答案都是有帮助的。然后,您应该标记为已接受✓ 最能回答你问题的答案。如果没有令人满意的答案,请提供反馈意见,或编辑您的问题以澄清问题。$picku\u date
的格式是什么?要进行故障排除,您可以尝试输出两个值:var_dump($datetoday);var_转储($picku_date)代码>。您可能需要date('Ymd')
,或者只需使用time()
,并使用strotime()
将表单日期转换为时间戳。鉴于
的默认格式为“YYYY-MM-DD”,这里有一个。提供的答案是否有用?你应该投赞成票▲ 如果你有这样做的声誉,所有的答案都是有帮助的。然后,您应该标记为已接受✓ 最能回答你问题的答案。如果没有一个答案令人满意,请提供反馈意见,或编辑您的问题以澄清问题。我同意这是一个很好的建议,但比较了相同格式的两个字符串。我同意这是一个很好的建议,但比较了相同格式的两个字符串。