(PHP 5 >= 5.3.0, PHP 7)
DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diff — Returns the difference between two DateTime objects
Objektorientierter Stil
$targetObject
[, bool $absolute
= FALSE
] ) : DateInterval|false$targetObject
[, bool $absolute
= FALSE
] ) : DateInterval|false$targetObject
[, bool $absolute
= FALSE
] ) : DateInterval|falseProzeduraler Stil
$originObject
, DateTimeInterface $targetObject
[, bool $absolute
= FALSE
] ) : DateInterval|falseReturns the difference between two DateTimeInterface objects.
datetime
The date to compare to.
absolute
Should the interval be forced to be positive?
The DateInterval object represents the
difference between the two datesIm Fehlerfall wird FALSE
zurückgegeben..
The return value more specifically represents the interval to apply to the
original object ($this
or
$originObject
) to arrive at the
$targetObject
. This process is not always
reversible.
Beispiel #1 DateTime::diff() example
Objektorientierter Stil
<?php
$origin = new DateTime('2009-10-11');
$target = new DateTime('2009-10-13');
$interval = $origin->diff($target);
echo $interval->format('%R%a days');
?>
Prozeduraler Stil
<?php
$origin = date_create('2009-10-11');
$target = date_create('2009-10-13');
$interval = date_diff($origin, $target);
echo $interval->format('%R%a days');
?>
Die obigen Bespiele erzeugen folgende Ausgabe:
+2 days
Beispiel #2 DateTime object comparison
Hinweis:
As of PHP 5.2.2, DateTime objects can be compared using comparison operators.
<?php
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");
var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
bool(false) bool(true) bool(false)