我需要知道在$paymentDate
(01/01/2001)和$contractDateBegin
(01/01/2012)之间$contractDateEnd
(2010年12月31日)是否有效
dd / mm / yyyy FORMAT!
答案 0 :(得分:30)
从PHP 5.3开始:
$paymentDate = DateTime::createFromFormat('d/m/Y', '31/12/2010');
$contractDateBegin = DateTime::createFromFormat('d/m/Y', '01/01/2001');
$contractDateEnd = DateTime::createFromFormat('d/m/Y', '01/01/2012');
if ($paymentDate >= $contractDateBegin && $paymentDate <= $contractDateEnd)
{
echo "is between\n";
}
您可能需要根据日期是否排除来调整<=
到<
的使用。
答案 1 :(得分:3)
如果格式为YYYYMMDD,您可以检查$paymentDate > $contractDateBegin and $paymentDate < $contractDateEnd
这适用于任何首先具有较大格式的数字格式。如果您有美国日期,例如MM / DD / YYYY,则不起作用。
答案 2 :(得分:3)
$test = strtotime($paymentDate);
if ($test >= strtotime($contractDateBegin) && $test <= strtotime($contractDateEnd))