Php自定义日期格式和比较


Php custom date format and comparison

在我的数据库中,我有一个表,我在其中保存注册用户。一列是注册日期,我以自己的字符串格式保留此值。例如"[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 {
    // ...
}