DateTimeInterface::diff
DateTimeImmutable::diff
DateTime::diff
date_diff
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
DateTimeInterface::diff -- DateTimeImmutable::diff -- DateTime::diff -- date_diff — Liefert die Differenz zwischen zwei DateTime-Objekten
Beschreibung
Objektorientierter Stil
$targetObject
, bool $absolute
= false
): DateInterval$targetObject
, bool $absolute
= false
): DateIntervalProzeduraler Stil
$baseObject
, DateTimeInterface $targetObject
, bool $absolute
= false
): DateIntervalGibt die Differenz zwischen zwei DateTimeInterface-Objekten zurück.
Parameter-Liste
-
datetime
-
Das Datum, mit dem verglichen werden soll.
-
absolute
-
Soll das Intervall zwingend positiv sein?
Rückgabewerte
Das DateInterval-Objekt stellt die Differenz zwischen den beiden Daten dar.
Genauer gesagt stellt der Rückgabewert das Intervall dar, das auf das
ursprüngliche Objekt ($this
oder
$originObject
) anzuwenden ist, um das
$targetObject
zu erhalten. Dieser Prozess ist nicht
immer umkehrbar.
Beispiele
Beispiel #1 DateTimeImmutable::diff()-Beispiel
Objektorientierter Stil
<?php
$origin = new DateTimeImmutable('2009-10-11');
$target = new DateTimeImmutable('2009-10-13');
$interval = $origin->diff($target);
echo $interval->format('%R%a Tage');
?>
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 Tage');
?>
Die obigen Bespiele erzeugen folgende Ausgabe:
+2 Tage
Beispiel #2 Vergleich von DateTime-Objekten
Hinweis:
DateTimeImmutable- und DateTime-Objekte können mit Vergleichs-Operatoren verglichen werden.
<?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)
Siehe auch
- DateInterval::format() - Formatiert ein Intervall
- DateTime::add() - Ändert ein DateTime-Objekt, wobei die Anzahl der Tage, Monate, Jahre, Stunden, Minuten und Sekunden hinzugefügt wird
- DateTime::sub() - Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.