Особенности сравнение дат в php?
string date ( string $format [, int $timestamp = time() ] )
Поскольку вы неправильно используете функцию date(), сравниваются просто строки. Строки сравниваются посимвольно. Ноль меньше, чем два, поэтому сравнение немедленно возвращает true.
Правильно сравнивать даты так:$first = DateTime::createFromFormat('d.m.Y', '01.01.2016');
$second = DateTime::createFromFormat('d.m.Y', '25.12.2015');
var_dump($first < $second);
Или так:var_dump(strtotime('01.01.2016') < strtotime('25.12.2015'));
первый параметр - это формат даты.
все, что не входит в известные модификаторы - интерпретируется как число.
при строковом сравнении второе больше первого...
попробуй strtotime и формат даты - YYYY-MM-DD