Php 自定义日期格式和比较

Php custom date format and comparison

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

那我想查一下。 如果用户已满 30 天或更长时间。 可以肯定的是,上面的代码是错误的。 问题是如果一个用户在 29/01/2015 注册 如果当前日期是 02/02/2015,则在最后 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>"; }

使用 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 {
    // ...
}