簡體   English   中英

計算兩個日期之間的差異作為有符號值

[英]Calculate Difference between two dates as a signed value

我正在構建一個Web應用程序,管理員需要知道申請人的注冊期限已經到期。所以我需要將當前日期與我從數據庫中獲得的到期日期進行比較。我嘗試使用date_diff()函數,但是問題是與date_diff()一起使用的是,如果我有一個日期如2014-02-31作為我的到期日期,而我有2014-03-01則當前日期高於到期日期:因此應用程序已過期。但是該功能似乎當date等於或小於等於時,返回相同的值。

這是我的功能

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

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

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

我只是想知道今天的日期是否大於到期日期,以使我知道申請人已經過期。

任何幫助將被申請。 提前致謝

剛剛在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>';
    }
}

有人認為我會遇到任何問題嗎? 也許以后

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

date_diff采用關鍵字arg“ absolute”。 將此設置為false可獲得所需的結果。

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

編輯:為方便起見,鏈接至文檔: http : //php.net/manual/en/datetime.diff.php

暫無
暫無

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

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