簡體   English   中英

PHP檢查日期是否已過(不工作 - 為什么?)

[英]PHP Check if date has passed (Not Working - Why?)

我剛剛意識到,當我驗證代碼時,它始終顯示有效,即使有效期已過。 有人能看出我錯了。

只是沒有得到它......

{
    $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>";
    }
}

通過使用date您將日期轉換為字符串 - 並且因為您使用的是'dm-y'格式,所以不會按照您認為的方式對它們進行比較。

一個快速而骯臟的解決方案是反轉格式並使用'Ymd' ,它將返回它們的格式,如20130905 ,它將作為字符串比較,但更好的方法是以實際的日期時間格式或時間戳通過某些東西創建它們喜歡mktime(0, 0, 0, $month, $day, $year);

轉換日期以在unixtime中與mktime進行比較

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM