Php 如何输出到时间戳之间的时差(以小时和分钟为单位)

Php 如何输出到时间戳之间的时差(以小时和分钟为单位),php,date,datetime,Php,Date,Datetime,我需要得到两个时间戳之间的小时和分钟差,但是下面的代码只输出小时 预期产出: 2:30 hours 但它输出: 2 我正在使用的代码: echo -(date("H:i", strtotime("04:30AM")) - date("H:i", strtotime("07:00AM"))); 使用DateInterval: $datetime1 = new DateTime('04:30AM'); $datetime2 = new DateTime('07:00AM'); $interva

我需要得到两个时间戳之间的小时和分钟差,但是下面的代码只输出小时

预期产出:

2:30 hours
但它输出:

2
我正在使用的代码:

echo -(date("H:i", strtotime("04:30AM")) - date("H:i", strtotime("07:00AM")));

使用
DateInterval

$datetime1 = new DateTime('04:30AM');
$datetime2 = new DateTime('07:00AM');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%h:%i'); // 2:30


使用
DateInterval

$datetime1 = new DateTime('04:30AM');
$datetime2 = new DateTime('07:00AM');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%h:%i'); // 2:30


但从下午到上午不计算。如果
$from=“09.00PM”$to=“01.00AM”
它输出,
20:00小时
,但它应该输出
04:00小时
。由于它从上午到下午计算,我没有得到正确的输出,因为两者都与今天的
相关,它返回“-20:00”。您还可以获得一个符号,其格式为:
%R
(新日期时间('09:00PM'))->diff(新日期时间('01:00AM+1day'))->格式('%R%H:%I')获取
+04:00
非常感谢!但从下午到上午不计算。如果
$from=“09.00PM”$to=“01.00AM”
它输出,
20:00小时
,但它应该输出
04:00小时
。由于它从上午到下午计算,我没有得到正确的输出,因为两者都与今天的
相关,它返回“-20:00”。您还可以获得一个符号,其格式为:
%R
(新日期时间('09:00PM'))->diff(新日期时间('01:00AM+1day'))->格式('%R%H:%I')获取
+04:00
非常感谢!