Die grundlegende Syntax der Funktion DATE_ADD ist wie folgt:
<span><span><span class="hljs-title function_ invoke__">date_add</span></span><span>(DateTime </span><span><span class="hljs-variable">$object</span></span><span>, DateInterval </span><span><span class="hljs-variable">$interval</span></span><span>) : DateTime
</span></span>
$ object : ein datetime -Objekt, das die aktuelle Zeit darstellt.
$ Intervall : Ein Datumsinterval -Objekt, das das zugefügte Zeitintervall darstellt.
Diese Funktion gibt ein neues DateTime -Objekt zurück, das das Ergebnis ist, nachdem das Zeitintervall hinzugefügt wurde.
Vor der Verwendung von Datum_ADD müssen wir zunächst ein DateTime -Objekt erstellen. Dies kann normalerweise mit neuer DateTime () oder durch Angabe eines bestimmten Datums erstellt werden.
<span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTime</span></span><span>(</span><span><span class="hljs-string">'2025-06-16 14:00:00'</span></span><span>);
</span></span>
Auf diese Weise erstellen wir am 16. Juni 2025 ein DateTime -Objekt, das 14:00:00 Uhr darstellt.
Das Datumsinterval -Objekt repräsentiert ein Zeitintervall. Sie können dieses Objekt mit einer Zeichenfolge erstellen, beginnend mit P im Format:
P : Zeigt die Periode an
Die Zeiteinheiten werden verfolgt, wie Y (Jahr), M (Monat), D (Tag), H (Stunde), I (Minute), S (Sekunden).
Um 1 Tag darzustellen, kann P1D verwendet werden und PT2H kann für 2 Stunden verwendet werden.
<span><span><span class="hljs-variable">$interval</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateInterval</span></span><span>(</span><span><span class="hljs-string">'P1D'</span></span><span>); </span><span><span class="hljs-comment">// Zunahme1Himmel</span></span><span>
</span></span>
Mit den Objekten von DateTime und DateInterval können wir die Funktion date_add verwenden, um Zeitberechnung durchzuführen. Nehmen wir zum Beispiel an, wir möchten bis 2025-06-16 14:00:00 5 Tage hinzufügen:
<span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTime</span></span><span>(</span><span><span class="hljs-string">'2025-06-16 14:00:00'</span></span><span>);
</span><span><span class="hljs-variable">$interval</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateInterval</span></span><span>(</span><span><span class="hljs-string">'P5D'</span></span><span>); </span><span><span class="hljs-comment">// Zunahme5Himmel</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_add</span></span><span>(</span><span><span class="hljs-variable">$date</span></span><span>, </span><span><span class="hljs-variable">$interval</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$date</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span></span>
Das Ausgangsergebnis ist:
<span><span><span class="hljs-number">2025-06-21 14:00:00</span></span><span>
</span></span>
Wie Sie sehen können, fügte DATE_ADD das Originaldatum für 5 Tage hinzu und erhielt ein neues Datum.
Zusätzlich zur Anzahl der Tage können wir auch die Stunden, Minuten usw. erhöhen. Angenommen, wir möchten zu einem bestimmten Zeitpunkt 3 Stunden und 45 Minuten hinzufügen:
<span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTime</span></span><span>(</span><span><span class="hljs-string">'2025-06-16 14:00:00'</span></span><span>);
</span><span><span class="hljs-variable">$interval</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateInterval</span></span><span>(</span><span><span class="hljs-string">'PT3H45M'</span></span><span>); </span><span><span class="hljs-comment">// Zunahme3Stunde45Minute</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_add</span></span><span>(</span><span><span class="hljs-variable">$date</span></span><span>, </span><span><span class="hljs-variable">$interval</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$date</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span></span>
Das Ausgangsergebnis ist:
<span><span><span class="hljs-number">2025-06-16 17:45:00</span></span><span>
</span></span>
Wir können die Zeit durch negative Werte verkürzen. Angenommen, wir wollen die Zeit um 2 Tage subtrahieren. Wir können Folgendes tun:
<span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTime</span></span><span>(</span><span><span class="hljs-string">'2025-06-16 14:00:00'</span></span><span>);
</span><span><span class="hljs-variable">$interval</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateInterval</span></span><span>(</span><span><span class="hljs-string">'P2D'</span></span><span>); </span><span><span class="hljs-comment">// 2Himmel</span></span><span>
</span><span><span class="hljs-variable">$interval</span></span><span>->invert = </span><span><span class="hljs-number">1</span></span><span>; </span><span><span class="hljs-comment">// Invertieren es in einen negativen Wert</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_add</span></span><span>(</span><span><span class="hljs-variable">$date</span></span><span>, </span><span><span class="hljs-variable">$interval</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$date</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span></span>
Das Ausgangsergebnis ist:
<span><span><span class="hljs-number">2025-06-14 14:00:00</span></span><span>
</span></span>
Durch das Einstellen der Invert -Eigenschaft auf 1 stellt DateInterval ein negatives Zeitintervall dar, wodurch der Zeit -Subtraktionsvorgang erkennt.
DATE_ADD unterstützt auch die Verwendung komplexerer Zeitintervalle. Zum Beispiel können Sie gleichzeitig mehrere Jahre, Monate, Tage usw. hinzufügen:
<span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTime</span></span><span>(</span><span><span class="hljs-string">'2025-06-16 14:00:00'</span></span><span>);
</span><span><span class="hljs-variable">$interval</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateInterval</span></span><span>(</span><span><span class="hljs-string">'P1Y2M5D'</span></span><span>); </span><span><span class="hljs-comment">// Zunahme1Jahr2Monate5Himmel</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_add</span></span><span>(</span><span><span class="hljs-variable">$date</span></span><span>, </span><span><span class="hljs-variable">$interval</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$date</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span></span>
Das Ausgangsergebnis ist:
<span><span><span class="hljs-number">2026-08-21 14:00:00</span></span><span>
</span></span>
In diesem Beispiel haben wir 1 Jahr, 2 Monate und 5 Tage hinzugefügt.
DATE_ADD ist eine sehr nützliche Funktion in PHP, die uns beim Hinzufügen und Subtrahieren von Daten und Zeiten helfen kann. Durch die Kombination von Objekten von DateTime und DateInterval können wir die Berechnungsanforderungen verschiedener Zeitintervalle flexibel behandeln. Egal, ob Sie Tage, Stunden, Minuten oder komplexe Zugabe mehrerer Zeiteinheiten hinzufügen, es kann leicht behandelt werden. In der tatsächlichen Entwicklung ist es sehr wichtig, diese Datums- und Zeitvorgänge zu meistern, was die Effizienz unserer Verarbeitungszeitlogik erheblich verbessern kann.