Php 日期差异未给出正确的时间

Php 日期差异未给出正确的时间,php,datetime,dateinterval,Php,Datetime,Dateinterval,例如,我在日期差异方面有问题 $nToday = date("Y-m-d h:i:s"); $deliveryDateNoon = $_SESSION['sp_date']." 12:00:00"; $date1 = new DateTime($nToday); $date3 = new DateTime($deliveryDateNoon); $diffNoon = $da

例如,我在日期差异方面有问题

            $nToday = date("Y-m-d h:i:s");
            $deliveryDateNoon = $_SESSION['sp_date']." 12:00:00";

            $date1 = new DateTime($nToday);
            $date3 = new DateTime($deliveryDateNoon);
            $diffNoon = $date3->diff($date1);
            $hrs = $diffNoon->format('%h');
$ntoday=2014-10-30 10:01:46 $deliveryDateNoon=10/31/2014 12:00:00

我得到的$hrs的价值是。。。1

这个结果是正确的。返回一个值,它是两个日期之间不同的年、月、日、小时、分钟和秒的总数

例如:1天1小时58分14秒。当你试图从中得到小时数时,你会得到1,而不是你期望的总小时数。您需要进行日期计算,将时间间隔转换为小时数差

$hrs = $diffNoon->format('%h') + ($diffNoon->days * 24);

演示是你最大的卖点;