我正在尝试检查用户提交日期是否在范围内。
<?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')) {
}
}
?>这并不是我真正想要的效果。
发布于 2015-04-19 00:32:26
尝试以下代码:
$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!";
}附言:这个问题在stackoverflow:PHP check if date between two dates EDIT2:easy way上已经回答过了。
发布于 2015-04-19 00:39:51
在这种情况下不需要使用regex,使用简单的DateTime类来检查用户提交的日期是否在范围内,或者not.you也可以使用典型的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 yourshttps://stackoverflow.com/questions/29719782
复制相似问题