我刚刚意识到,当我验证代码时,它始终显示有效,即使有效期已过。有人能看出我的错误。
只是没有得到它......
{
$status = "<p8>ERROR</p8>";
$entity_name = $rowa['entity_name'];
$cert_no = $rowa['cert_no'];
$issue_num = $rowa['issue_num'];
$level = $rowa['level'];
//$issue_date = $rowa['issue_date'];
$issue_date = date("d-m-Y", strtotime($rowa['issue_date']));
//$expiry_date = $rowa['expiry_date'];
$expiry_date = date("d-m-Y", strtotime($rowa['expiry_date']));
//$status = $rowa['status'];
$date_time = date("d-m-Y");
if($date_time < $expiry_date)
{
$status = "<p8>Valid</p8>";
}
else
{
$status = "<p9>In-Valid</p9>";
}
}
答案 0 :(得分:1)
使用date
将日期转换为字符串 - 并且因为您使用的是'd-m-y'
格式,所以不会按照您认为的方式对它们进行比较。
快速而肮脏的解决方案是反转格式并使用'Ymd'
,它将以20130905
格式返回它们,这将作为字符串比较,但更好的方法是在实际的date time格式或时间戳,例如mktime(0, 0, 0, $month, $day, $year);
答案 1 :(得分:1)
将日期转换为在unix时间与mktime进行比较