Мне нужно знать, действительно ли $paymentDate
(31/12/2010) действителен между $contractDateBegin
(01/01/2001) и $contractDateEnd
(01/01/2012)
dd / mm / yyyy ФОРМАТ!
Начиная с 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"; }
Возможно, вам потребуется настроить использование <=
to <
зависимости от того, являются ли даты исключительными.
если они отформатированы как YYYYMMDD, вы можете проверить, $paymentDate > $contractDateBegin and $paymentDate < $contractDateEnd
ли $paymentDate > $contractDateBegin and $paymentDate < $contractDateEnd
Это работает с любым цифровым форматом, который имеет более крупные форматы. Если у вас есть американские даты, например MM / DD / YYYY, это не сработает.
$test = strtotime($paymentDate); if ($test >= strtotime($contractDateBegin) && $test <= strtotime($contractDateEnd))