Что делает параметр absolute в DateTime::diff(DateTime [, bool absolute = false])


Вот пример кода

$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)
}

Как я вижу, меняется только свойство "инвертировать". Что это значит?

Author: Sudhi, 2011-09-29

2 answers

Свойство absolute вернет абсолютную разницу между двумя объектами DateTime. Это изменит результат на положительный, когда будет возвращена отрицательная разница.

 7
Author: jncraton, 2011-09-29 11:14:33

Из php.net

Absolute parameter determines whether to return absolute difference.

LOI дата и время.разница

 0
Author: Fredrik, 2011-09-29 11:14:30