Php 计算两个日期之间的差值作为有符号值

Php 计算两个日期之间的差值作为有符号值,php,Php,我正在构建一个web应用程序,管理员需要知道申请者的注册期限已过期。因此,我需要将当前日期与从数据库中获得的过期日期进行比较。我尝试使用函数date_diff(),但date_diff()存在问题如果我的到期日是2014-02-31,而我的到期日是2014-03-01,则当前日期高于到期日:因此应用程序已过期。但当日期等于或小于时,函数似乎返回相同的值 这是我的功能 function CheckStatus($date) { $date1 = new DateTime(date('Y-m

我正在构建一个web应用程序,管理员需要知道申请者的注册期限已过期。因此,我需要将当前日期与从数据库中获得的过期日期进行比较。我尝试使用函数date_diff(),但date_diff()存在问题如果我的到期日是2014-02-31,而我的到期日是2014-03-01,则当前日期高于到期日:因此应用程序已过期。但当日期等于或小于时,函数似乎返回相同的值

这是我的功能

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

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

    return $interval->format('%a');
}
我只是想知道今天的日期是否比到期日大,这样我就知道申请人已经到期了

任何帮助都将受到感谢。 提前谢谢

刚刚在php文档中得到了以下示例:

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>';
    }
}
功能检查状态($date)
{
//如果到期日小于今天的日期
//然后报名者过期了
$date1=新的日期时间(日期('Y-m-d');
$date2=新日期时间($date);
如果($date1>$date2)
{
回声“过期”;
}
如果($date1<$date2)
{
回声“奔跑”;
}
}

有没有人认为我会遇到任何问题;也许以后

date\u diff会使用关键字arg“absolute”。将此设置为false以获得您要查找的结果

// assuming $date is a valid date string
function isExpired($date) {
    return time() > strtotime($date);
}
请注意,date_diff和$date->diff是同一函数的别名

编辑:链接到文档以方便: