пожалуйста, помогите, что случилось с моим кодом. он всегда показывает, что сегодня больше, чем 01/02/2016? где в 2016 году больше 2015 года.
<?php $date_now = date("m/d/Y"); $date=date_create("01/02/2016"); $date_convert = date_format($date,"m/d/Y"); if ($date_now > $date_convert) { echo 'greater than'; }else{ echo 'Less than'; }
PS: 01/02/2016 исходит из моей базы данных
Вы не сравниваете даты. Вы сравниваете строки . В мире сравнения строк, '09 / 17/2015 "> '01 / 02/2016 ', потому что' 09 '>' 01 '. Вам нужно либо поставить дату в сопоставимом формате строки, либо сравнить объекты DateTime, которые сопоставимы ,
<?php $date_now = date("Ymd"); // this format is string comparable if ($date_now > '2016-01-02') { echo 'greater than'; }else{ echo 'Less than'; }
демонстрация
Или
<?php $date_now = new DateTime(); $date2 = new DateTime("01/02/2016"); if ($date_now > $date2) { echo 'greater than'; }else{ echo 'Less than'; }
демонстрация
Вы сравниваете две строки вместе. PHP не осведомлен о том, что эти строки представляют даты, и поэтому не имеет понятия о том, больше или нет.
См. Ответ @ JohnConde