如何确定日期是否在PHP中的两个日期之间?

时间:2011-06-02 20:14:17

标签: php date

我需要知道在$paymentDate(01/01/2001)和$contractDateBegin(01/01/2012)之间$contractDateEnd(2010年12月31日)是否有效

dd / mm / yyyy FORMAT!

3 个答案:

答案 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))