PHP DateTime :: diff生成零

时间:2013-11-12 22:52:06

标签: php

此函数产生0的结果:

function time_difference($time1, $time2) {
    $dt1 = new DateTime($time1);
    $dt2 = new DateTime($time2);

    $difference = $dt1->diff($dt2);
    var_dump($difference);
}

这是var_dump的输出。是的,我确认$ time1和$ time2有效日期/时间。

object(DateInterval)#7 (15) {
    ["y"]=> int(0)
    ["m"]=> int(0)
    ["d"]=> int(0)
    ["h"]=> int(0)               
    ["i"]=> int(0)
    ["s"]=> int(0)
    ["weekday"]=> int(0)
    ["weekday_behavior"]=> int(0) 
    ["first_last_day_of"]=> int(0)
    ["invert"]=> int(0)
    ["days"]=> int(0)
    ["special_type"]=> int(0)
    ["special_amount"]=> int(0)
    ["have_weekday_relative"]=> int(0) 
    ["have_special_relative"]=> int(0)
}

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

看起来您正在尝试从DateTime对象$dt1构造DateTime对象$time1DateTime constructor需要一个字符串。如果要将DateTime对象传递给函数,请尝试以下操作:

function time_difference($time1, $time2) {
    $difference = $time1->diff($time2);
    var_dump($difference);
}