Как определить, существует ли дата между двумя датами в PHP?

Мне нужно знать, действительно ли $paymentDate (31/12/2010) действителен между $contractDateBegin (01/01/2001) и $contractDateEnd (01/01/2012)

dd / mm / yyyy ФОРМАТ!

Related of "Как определить, существует ли дата между двумя датами в PHP?"

Начиная с 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))