Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP检查日期是否已过(不工作-为什么?)_Php_Date_Time_Compare - Fatal编程技术网

PHP检查日期是否已过(不工作-为什么?)

PHP检查日期是否已过(不工作-为什么?),php,date,time,compare,Php,Date,Time,Compare,我刚刚意识到,当我验证代码时,它始终显示有效,即使过期日期很旧。有人能看出我做错了什么吗 只是不明白 { $status = "<p8>ERROR</p8>"; $entity_name = $rowa['entity_name']; $cert_no = $rowa['cert_no']; $issue_num = $rowa['issue_num']; $level = $rowa['level']; //$issue_

我刚刚意识到,当我验证代码时,它始终显示有效,即使过期日期很旧。有人能看出我做错了什么吗

只是不明白

{
    $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>";
    }
}
{
$status=“ERROR”;
$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=日期(“d-m-Y”,标准时间($rowa['issue_date'));
//$expiration_date=$rowa['expiration_date'];
$EXIT_date=日期(“d-m-Y”,标准时间($rowa['EXIT_date']);
//$status=$rowa['status'];
$date_time=日期(“d-m-Y”);
如果($date\u time<$expiration\u date)
{
$status=“有效”;
}
其他的
{
$status=“有效”;
}
}

通过使用
日期
您将日期转换为字符串-由于您使用的是
'd-m-y'
格式,因此不会以您认为的方式进行比较


一个快速而肮脏的解决方案是反转格式并使用
'Ymd'
,它将以类似
20130905
的格式返回它们,该格式将用作字符串比较,但更好的方法是通过类似
mktime(0,0,0,$month,$day,$year)的方式以实际格式或时间戳创建它们

转换日期以在unixtime中与mktime进行比较

改用unix时间戳。容易多了!虽然这是正确的,但通常最好在回答问题时提供一个示例,说明如何这样做,或者至少提供一个链接,以更详细地解释您所谈论的内容。你在这里是对的,但这不是一个很好的答案。