PHP: дата больше текущей даты
У меня есть этот код:
$curdate = '22-02-2011';
$mydate = '10-10-2011';
if($curdate > $mydate)
{
echo '<span class="status expired">Expired</span>';
}
Это будет истекать echo, но не должно, потому что $mydate в будущем и, следовательно, меньше, чем $curdate, но PHP ищет JUST первые два номера 22 и 10 вместо целой строки. Как я могу это исправить?
Спасибо
Ответы
Ответ 1
Попробуйте сначала преобразовать их в метки времени, а затем сравнить два преобразованных значения:
$curdate=strtotime('22-02-2011');
$mydate=strtotime('10-10-2011');
if($curdate > $mydate)
{
echo '<span class="status expired">Expired</span>';
}
Это преобразует их в число секунд с 1 января 1970 года, поэтому ваше сравнение должно работать.
Ответ 2
Проблема в том, что ваши текущие переменные являются строками, а не переменными времени.
Попробуйте следующее:
$curdate = strtotime('22-02-2011');
$mydate = strtotime('10-10-2011');
Ответ 3
$row_date = strtotime($the_date);
$today = strtotime(date('Y-m-d'));
if($row_date >= $today){
-----
}
Ответ 4
Используйте классы даты и времени PHP, чтобы преобразовать эти представления строк во что-то, что вы можете напрямую сравнить с помощью getTimestamp(), чтобы сравнить время UNIX.
Если вы уверены, что все ваши даты в этом формате, вы можете поместить их в YYYY-MM-DD, и сравнение строк будет корректно работать.
Ответ 5
if(strtotime($curdate) > strtotime($mydate))
{
...
}
Ответ 6
это ОЧЕНЬ просто
$curdate = '2011-02-22';
$mydate = '2011-10-10';
if($curdate > $mydate)
{
echo '<span class="status expired">Expired</span>';
}