不幸的是我无法使用DateTime::Diff
并且正在寻找一种方法来转换我当前的datetime格式,因此我可以减去并找出小时和分钟的差异,如下所示:
// 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);
答案 0 :(得分:2)
将两者都转换为UNIX时间戳,然后从另一个中减去一个。您可以非常轻松地将结果转换为小时和分钟。
$secondsDiff = strtotime($closedate) - strtotime($opendate);