-1

我正在尝试使用 PHP 比较两个日期(一个存储在数据库中)和今天的日期,并根据比较结果输出“打印”语句。我的到期日期在数据库中存储为“日期时间”。它通过查询调用并分配给变量 $expire。我用于比较的代码如下,但无论日期如何,它总是返回 false。

<? 
  $todays_date = date("m-d-Y"); 
  $today = strtotime($todays_date); 
  $expired = strtotime($expire); 

  if ($today > $expired) {
    print "<a target='_blank' href='/pdfwriter/generate_certificate.php?member=".$memberID."'>Print Membership Certificate</a>";
  } 
  else 
  {
    print "<a href='registration/registration.aspx?registerType=1'>Membership Expired - Renew Today</a>";
  } 
?>
4

1 回答 1

6

这更容易做到,DateTime()因为它使比较日期更容易。无需转换为时间戳或任何其他内容,而且还需要考虑夏令时。我也认为你的比较运算符是倒退的。

$today = new DateTime();
$expires = new DateTime($expire);
if ($today < $expires)
{
    print "<a target='_blank' href='/pdfwriter/generate_certificate.php?member=".$memberID."'>Print Membership Certificate</a>";
}
else
{
    print "<a href='registration/registration.aspx?registerType=1'>Membership Expired - Renew Today</a>";
}
于 2013-09-06T18:12:29.790 回答