什么绝对参数在日期时间做:: DIFF(DateTime的[,布尔绝对=假])

问题描述:

下面是示例代码什么绝对参数在日期时间做:: DIFF(DateTime的[,布尔绝对=假])

$c = new DateTime(); 
$o = clone $c; 
$o->modify('-60 days'); 
$diff = $c->diff($o); 
$diff2 = $c->diff($o, TRUE); 
var_dump($diff, $diff2); 

其输出

object(DateInterval)#3 (8) { 
    ["y"]=> int(0), ["m"]=> int(1), ["d"]=> int(29), ["h"]=> int(0), ["i"]=> int(0), 
    ["s"]=> int(0), ["invert"]=> int(1), ["days"]=> int(60) 
} 
object(DateInterval)#4 (8) { 
    ["y"]=> int(0), ["m"]=> int(1), ["d"]=> int(29), ["h"]=> int(0), ["i"]=> int(0), 
    ["s"]=> int(0), ["invert"]=> int(0), ["days"]=> int(60) 
} 

如我看到的,只有“反转”属性更改。这是什么意思?

绝对属性将返回两个日期时间对象之间的绝对差。这会在返回负面差异时将结果更改为正值。

+1

谢谢,我现在明白了。使用'echo $ diff-> format('%R%a'),$ diff2-> format('%R%a');''得出'-60 + 60'答案:( – Sudhi

从php.net

Absolute parameter determines whether to return absolute difference. 

LOI datetime.diff