【问题标题】:Date Diff Not giving right Hours日期差异没有给出正确的时间
【发布时间】:2014-10-30 14:07:04
【问题描述】:

我遇到了日期差异问题。例如

            $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

【问题讨论】:

    标签: php datetime dateinterval


    【解决方案1】:

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

    例如:1 天 1 小时 58 分钟 14 秒。当您尝试从中获取hours 时,您将得到1,而不是您期望的总小时数。您需要进行日期数学以将该时间间隔转换为小时数差异。

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

    【讨论】:

    • 该演示是您最畅销的产品 ;)
    猜你喜欢
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 2022-11-21
    相关资源
    最近更新 更多