2015-01-31 6 views
2

В моей базе данных У меня есть одна таблица, в которой я продолжаю регистрировать пользователей. Один столбец - дата регистрации, и я сохраняю это значение в своем собственном строчном формате. Например: «[2013-11-30] [19:42:46]«Php формат и формат даты

Затем я хочу сделать чек. Если пользователю 30 дней или более. Убедительная вещь в том, что приведенный выше код неверен. Проблема заключается в том, что если один пользователь регистрируется на 29/01/2015, не будет отображаться в 30 последних днях, если текущий день 02/02/2015!

//Datetime 
    $today = date_parse_from_format("[Y-m-d] [H:i:s]", gmdate("[Y-m-d] [H:i:s]")); 
    $store = date_parse_from_format("[Y-m-d] [H:i:s]", $row["LastSeen"]); 

    if (
     (($store[year] >= $today[year]) && ($store[month] >= $today[month])) 
    ) 
    { $date_last = "<font color='green'>".$row["LastSeen"]."</font>"; } 
    else 
    { $date_last = "<font color='red'>".$row["LastSeen"]."</font>"; } 

ответ

1

Использование date_create_from_format вместо date_parse_from_format. Затем вы можете просто сравнить полученные значения:

$today = date_create_from_format("[Y-m-d] [H:i:s]", gmdate("[Y-m-d] [H:i:s]")); 
$store = date_create_from_format("[Y-m-d] [H:i:s]", $row["LastSeen"]); 

if ($store < $today) { 
    // ... 
} 
else { 
    // ... 
} 
+0

Спасибо, но я также пробовал это, и date_create_from_format не работает! –