база данных — Php пользовательский формат даты и сравнение

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

Тогда я хочу сделать проверку.
Если пользователю 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>"; }

2

Решение

использование 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 {
// ...
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector