PHP<;5.3两次时差小时::min


PHP < 5.3 Difference between two times hours::min

不幸的是,我不能使用DateTime::Diff,我正在寻找一种方法来转换我当前的日期时间格式,这样我就可以减去并找到小时和分钟的差异,比如:

// 2:11pm 2-20-2012
$opendate = '2012-02-20T14:11:03-05:00';
// 6:22pm 2-20-2012
$closedate = '2012-02-20T18:22:50-05:00';
$diff_date = $closedate - $opendate

我希望$diff_date以小时::分钟格式返回,例如"4小时11分钟"。

如果这将是有益的,上面格式化的时间的另一个替代方案是:

        $removeT = "T";
        $replaceSPACE = " ";
//returns datetime like '2012-02-20 14:11:03'
        $r = str_replace($removeT, $replaceSPACE, $opendate[$i]);
        $r = substr($r, 0, 19);
//returns datetime like '2012-02-20 18:22:50'
        $s = str_replace($removeT, $replaceSPACE, $closedate[$i]);
        $s = substr($s, 0, 19);

将两者转换为UNIX时间戳,然后从另一个中减去一个。您可以很容易地将结果转换为小时和分钟。

$secondsDiff = strtotime($closedate) - strtotime($opendate);