Я создал Если еще заявление но это не работает должным образом.
У меня есть несколько дат в моем SQL которые были получены и сохранены в переменных с помощью PHP.
Я сравниваю текущую дату с датами из базы данных, но по какой-то причине он считает, например, что 29-09-2015, если МЕНЬШЕ, ЧЕМ 31-01-2015.
Я могу понять, что формат мог быть проблемой d, m, Y, но я думал, что уже исправил это.
Вот код:
$today = date('d-m-Y');
$date = $row['respondby'];
$euDate= date("d-m-Y", strtotime($date));
<?php
if($today < $euDate){ echo "<td>". $today." is less than ". $euDate ."</td>";
}
else{
echo"<td>Lost somewhere in between ?!?!?! :S </td>";
}
?>
В результате он печатает
29-09-2015 меньше, чем 30-06-2015
сегодняшняя дата была 29-09-2015, и одна из дат была в данных, как показано ниже.
Спасибо всем, кто помогает.
Сравнение дат в виде строк использует лексикографический порядок, поэтому ваш результат «правильный».
Вместо d-m-Y
формат, попробуйте использовать Y-m-d
, это гарантирует правильный порядок.
$today = date('Y-m-d');
$date = $row['respondby'];
$euDate= date("Y-m-d", strtotime($date));
if($today < $euDate) { [...] }
Или вы можете использовать Date
объекты вместо:
$today = new Date('now');
$euDate= new Date($row['respondby']);
if($today < $euDate) { [...] }
Других решений пока нет …