Необходимо проверить, что данная дата находится между двумя датами, использующими PHP. Это код, который я написал:
$today = date_create('28-Feb-2012'); $fromdate = date_create('20-Feb-2012'); $todate = date_create('22-Feb-2012'); if ($today>=$fromdate && $todat<=$todate) { echo 'in range'; } else { echo 'not in range'; }
Но это всегда возвращается in range
. Не могу понять, где проблема. Пожалуйста помоги.
Я знаю, что это немного хакерское решение, но я предпочитаю использовать strtotime () для такого рода вещей, поскольку он возвращает целое число:
$today = time(); $fromdate = strtotime('20-Feb-2012'); $todate = strtotime('22-Feb-2012'); if ($today>=$fromdate && $today<=$todate) { echo 'in range'; } else { echo 'not in range'; }
EDIT: я предполагаю, что $todat
был просто опечаткой в stackoverflow, а в вашем коде у вас фактически есть $today
, но если это не так, то ваша неопределенная переменная в некоторых настройках может считаться 0.