在HH:MM格式php中获得时间差异

tel*_*per 5 php time datediff

我怎么能得到这个输出

HH:MM格式?

 $to_time = strtotime("2008-12-13 10:42:00");  <--AM
 $from_time = strtotime("2008-12-14 8:21:00");  <-- PM
 $stat = round(abs($to_time - $from_time) / 60,2). "min";
Run Code Online (Sandbox Code Playgroud)

我从这里得到的是1299分钟

但我无法弄清楚如何使其输出

21H:41米

Ale*_*lex 8

首先,8:21:00除非您另行指定,否则将被解释为8AM DateTime::createFromFormat().

要计算出时差,请使用DateTime::diff():

$to = new DateTime("2008-12-13 10:42:00");
$from = new DateTime("2008-12-14 8:21:00");

$stat = $to->diff($from); // DateInterval object

echo $stat->format('%Hh:%Im');
Run Code Online (Sandbox Code Playgroud)

这将显示两次之间的小时/分钟差异,但最多只能显示24小时.

如果您需要超过24小时,则应执行以下操作:

$hours   = $stat->days * 24 + $stat->h;
$minutes = $stat->i;

printf('%02sh:%sm', $hours, $minutes);
Run Code Online (Sandbox Code Playgroud)