PHP自定义日期格式和比较

时间:2015-01-31 14:58:27

标签: php database date format comparison

在我的数据库中,我有一个表,我保留了注册用户。 一列是注册日期,我将此值保留为我自己的字符串格式。 例如“[2013-11-30] [19:42:46]”

然后我想做个检查。 如果用户是30天或更长时间。 可以肯定的是,上面的代码是错误的。 问题是,如果一个用户在2015年1月29日注册 如果当天是2015年2月2日,将不会在最后30天显示!

//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 个答案:

答案 0 :(得分: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 {
    // ...
}