我试图使用PHP比较两个日期(一个存储在数据库中)和今天的日期,并根据比较结果输出一个"打印"语句.我的到期日期在db中存储为"datetime".它通过查询调用并分配给变量$ 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>";
}
?>
Run Code Online (Sandbox Code Playgroud)
这样做更容易,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>";
}
Run Code Online (Sandbox Code Playgroud)