Подтвердить что ты не робот

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 вместо целой строки. Как я могу это исправить?

Спасибо

4b9b3361

Ответ 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>';
}