我正在尝试检查用户提交的日期是否在范围内。
<?php
$datesyntx = "/^(19|20)\d\d[\-\/.](0[1-9]|1[012])[\-\/.](0[1-9]|[12][0-9]|3[01])$/";
$paydate = "2015-03-01";
if (preg_match($datesyntx, $paydate)) {
if(strtotime($paydate) > strtotime('2015-04-23') && strtotime($paydate) < strtotime('2015-07-23')) {
}
}
?>
实际上我想要得到它并不起作用。
答案 0 :(得分:0)
试试这段代码:
$paydate = date('2015-03-01');
$DateBegin = date('2010-01-01');
$DateEnd = date('2016-01-01');
if (($paydate > $DateBegin) && ($paydate < $DateEnd))
{
echo "is between";
}
else
{
echo "not between!";
}
P.S:在stackoverflow之前回答了这个问题: PHP check if date between two dates EDIT2 :简单易行。
答案 1 :(得分:0)
在这种情况下无需使用regex
,使用简单的DateTime
类来检查用户提交的日期是否在范围内。您也可以使用典型的strtotime()
来完成这项工作。但DateTime
课程对此非常有趣。
<?php
$userSubmitted = new DateTime("2015-04-01");
$startDate=new DateTime("2014-02-01 20:20:00");
$endDate=new DateTime("2015-04-30 23:50:11");
if ($userSubmitted > $startDate && $userSubmitted < $endDate)
{
return true; #date is within the range of yours
}
return false; #date not within the range of yours