Die diff-Methode der DateTime-Klasse

Die Methode diff der Klasse DateTime akzeptiert als Parameter ein anderes DateTime-Objekt und gibt ein DateInterval-Objekt zurück, das die Differenz zwischen den Datumsangaben enthält. Die Differenz kann in verschiedenen Einheiten abgerufen werden (Tage, Monate, Jahre usw.).

Syntax

php$interval = $datetime1->diff($datetime2);

Beispiel

Berechnen wir die Differenz zwischen zwei Datumsangaben:

php<?php
  $date1 = new DateTime('2023-01-01');
  $date2 = new DateTime('2023-02-15');
  $interval = $date1->diff($date2);
  echo $interval->format('%R%a days');
?>

Ergebnis der Codeausführung:

php'+45 days'

Beispiel

Holen wir uns die Differenz in Monaten und Tagen:

php<?php
  $date1 = new DateTime('2023-03-10');
  $date2 = new DateTime('2023-05-25');
  $interval = $date1->diff($date2);
  echo $interval->format('%m months %d days');
?>

Ergebnis der Codeausführung:

php'2 months 15 days'

Beispiel

Vergleich von Datumsangaben mit Berücksichtigung der Zeit:

php<?php
  $date1 = new DateTime('2023-01-01 10:00:00');
  $date2 = new DateTime('2023-01-01 14:30:00');
  $interval = $date1->diff($date2);
  echo $interval->format('%h hours %i minutes');
?>

Ergebnis der Codeausführung:

php'4 hours 30 minutes'

Siehe auch

  • die Funktion date,
    die Datum und Zeit formatiert
  • die Funktion strtotime,
    die einen String in einen Zeitstempel umwandelt
  • die Klasse DateInterval,
    die ein Datumsintervall repräsentiert