DateTimeInterface::diff DateTimeImmutable::diff DateTime::diff date_diff Liefert die Differenz zwischen zwei DateTime-Objekten &reftitle.description; &style.oop; public DateIntervalDateTimeInterface::diff DateTimeInterfacetargetObject boolabsolute&false; public DateIntervalDateTimeImmutable::diff DateTimeInterfacetargetObject boolabsolute&false; public DateIntervalDateTime::diff DateTimeInterfacetargetObject boolabsolute&false; &style.procedural; DateIntervaldate_diff DateTimeInterfacebaseObject DateTimeInterfacetargetObject boolabsolute&false; Gibt die Differenz zwischen zwei DateTimeInterface-Objekten zurück. &reftitle.parameters; datetime Das Datum, mit dem verglichen werden soll. absolute Soll das Intervall zwingend positiv sein? &reftitle.returnvalues; Das DateInterval-Objekt stellt die Differenz zwischen den beiden Daten dar. Der Parameter absolute wirkt sich nur auf die Eigenschaft invert des DateInterval-Objekts aus. Genauer gesagt stellt der Rückgabewert das Zeitintervall dar, das auf das ursprüngliche Objekt ($this oder $originObject) anzuwenden ist, um das $targetObject zu erhalten. Dieser Prozess ist nicht immer umkehrbar. Die Methode berücksichtigt die Zeitumstellung und kann daher ein Intervall von 24 Stunden und 30 Minuten zurückgeben, wie in einem der Beispiele. Wenn mit absoluter Zeit gerechnet werden soll, müssen die beiden Parameter $this/$baseObject und $targetObject zuerst in UTC umgewandelt werden. &reftitle.examples; <function>DateTimeImmutable::diff</function>-Beispiel &style.oop; diff($target); echo $interval->format('%R%a Tage'); ]]> &example.outputs; &style.procedural; format('%R%a Tage'); ]]> &example.outputs; <methodname>DateTimeInterface::diff</methodname> während der Zeitumstellung diff($targetTime); echo $interval->format("%H:%I:%S (Full days: %a)"), "\n"; ]]> &example.outputs; Zeitspanne von <methodname>DateTimeInterface::diff</methodname> Der Wert, den die Methode zurückgibt, ist die genaue Zeitspanne zwischen $this und $targetObject. Der Vergleich zwischen dem 1. Januar und dem 31. Dezember ergibt also 364 Tage und nicht 365 (in einem Nicht-Schaltjahr). diff($targetTime); echo "Full days: ", $interval->format("%a"), "\n"; ]]> &example.outputs; Vergleich von <classname>DateTime</classname>-Objekten DateTimeImmutable- und DateTime-Objekte können mit Vergleichs-Operatoren verglichen werden. $date2); ]]> &example.outputs; &reftitle.seealso; DateInterval::format DateTime::add DateTime::sub