2014-10-11 127 views
0

我正在構建一個Web應用程序,管理員需要知道其申請人的註冊期限已過期。因此,我需要將當前日期與其從數據庫中刪除的過期日期進行比較。我嘗試使用函數date_diff(),但與date_diff()的問題是,如果我有一個日期,如2014-02-31作爲我的失效日期,我有2014年3月1日,那麼現在是超過到期日期:因此應用程序已過期。但是當日期等於或小於時,函數似乎返回相同的值。計算兩個日期之間的差異作爲簽名值

這裏是我的功能

function CheckStatus($date) 
{ 
    $date1 = new DateTime(date('Y-m-d')); 
    $date2 = new DateTime($date); 

    $interval = $date1->diff($date2); 

    return $interval->format('%a'); 
} 

我只是想知道,如果今天的日期比到期日更大,從而知道的話,我知道申請人已過期。

任何幫助將appriciated。 在此先感謝

剛剛在PHP doc的這個例子:

function CheckStatus($date) 
{ 
//if expiry date is less than todays date 
//then enrollee expired 
    $date1 = new DateTime(date('Y-m-d')); 
    $date2 = new DateTime($date); 

    if($date1 > $date2) 
    { 
     echo '<span class="label-default label label-danger">expired</span>'; 
    } 
    if($date1 < $date2) 
    { 
     echo '<span class="label-default label label-info">Running</span>'; 
    } 
} 

有誰想我會遇到任何與此問題;也許稍後

回答

0
// assuming $date is a valid date string 
function isExpired($date) { 
    return time() > strtotime($date); 
} 
0

date_diff需要關鍵字arg「絕對」。將其設置爲false以獲得您要查找的結果。

請注意,date_diff和$ date-> diff是同一個函數的別名!

編輯:鏈接到文檔以方便:http://php.net/manual/en/datetime.diff.php

相關問題