Die Funktion date_add () wird verwendet, um einem DateTime -Objekt ein Zeitintervall hinzuzufügen. Es akzeptiert zwei Parameter: ein DateTime -Objekt und ein Datumsinterval -Objekt, das das Zeitintervall darstellt. Das Zeitintervall kann eine Kombination aus Einheiten wie Jahr, Monat, Tag, Stunde und Minute sein.
Grammatik:
<span><span><span class="hljs-title function_ invoke__">date_add</span></span><span>(DateTime </span><span><span class="hljs-variable">$datetime</span></span><span>, DateInterval </span><span><span class="hljs-variable">$interval</span></span><span>): DateTime
</span></span>Parameter:
$ DateTime : Das DateTime -Objekt zur Durchführung des Additionsvorgangs.
$ Intervall : Ein Datumsinterval -Objekt, das das zugefügte Zeitintervall angibt.
Beispiel:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$datetime</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-01-01'</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">'P1D'</span></span><span>); </span><span><span class="hljs-comment">// Hinzufügen zu1Himmel</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_add</span></span><span>(</span><span><span class="hljs-variable">$datetime</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">$datetime</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d'</span></span><span>); </span><span><span class="hljs-comment">// Ausgabe: 2025-01-02</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Im obigen Code erstellen wir ein DateTime- Objekt und initialisieren es auf '2025-01-01' , dann erstellen wir ein Datumsinterval- Objekt, das "1 Tag hinzufügen" bedeutet, und fügen das Zeitintervall schließlich über die Funktion date_add () hinzu.
Im Gegensatz zu DATE_ADD () wird die Funktion date_sub () verwendet, um ein Zeitintervall von einem DateTime -Objekt zu subtrahieren. Seine Funktion ist im Grunde die gleiche wie Datum_ADD () , aber seine Funktion besteht eher darin, die Zeit zu verkürzen als zu erhöhen.
Grammatik:
<span><span><span class="hljs-title function_ invoke__">date_sub</span></span><span>(DateTime </span><span><span class="hljs-variable">$datetime</span></span><span>, DateInterval </span><span><span class="hljs-variable">$interval</span></span><span>): DateTime
</span></span>Parameter:
$ DateTime : Das DateTime -Objekt zur Ausführung des Subtraktionsvorgangs.
$ intervall : Ein Datumsinterval -Objekt, das das Zeitintervall angibt, das abgezogen werden muss.
Beispiel:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$datetime</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-01-01'</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">'P1D'</span></span><span>); </span><span><span class="hljs-comment">// Minus1Himmel</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_sub</span></span><span>(</span><span><span class="hljs-variable">$datetime</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">$datetime</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d'</span></span><span>); </span><span><span class="hljs-comment">// Ausgabe: 2024-12-31</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>In diesem Beispiel erstellen wir auch ein DateTime -Objekt und initialisieren es auf '2025-01-01' und dann ein Datumsinterval- Objekt, das "Subtrahiere von 1 Tag" bedeutet, wodurch das Zeitintervall vom Datum über die Funktion date_sub () subtrahiert.
Funktionsunterschied : Date_ADD () wird verwendet, um Daten Zeitintervalle hinzuzufügen, während Datum_sub () zum Subtrahieren von Zeitintervallen von Daten verwendet wird.
Parameterreihenfolge : Obwohl die Parameterreihenfolge und -verwendung dieser beiden Funktionen im Grunde gleich sind, sind ihre Effekte genau das Gegenteil. DATE_ADD () führt den Additionsvorgang durch, DATE_SUB () führt den Subtraktionsvorgang durch.
Manchmal müssen wir beim Umgang mit komplexen Datumsoperationen möglicherweise gleichzeitig DATE_ADD () und DATE_SUB () verwenden, um mehrere verschiedene Zeitvorgänge an einem Datum auszuführen. Zum Beispiel wird zuerst ein Datum zu zwei Monaten hinzugefügt und dann an eine Woche abgezogen. Wir können diese beiden Funktionen in Kombination verwenden, um diese Anforderung zu erreichen.
Beispiel:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$datetime</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-01-01'</span></span><span>);
</span><span><span class="hljs-comment">// Erster Schritt,Hinzufügen zu2Monate</span></span><span>
</span><span><span class="hljs-variable">$interval_add</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">'P2M'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">date_add</span></span><span>(</span><span><span class="hljs-variable">$datetime</span></span><span>, </span><span><span class="hljs-variable">$interval_add</span></span><span>);
</span><span><span class="hljs-comment">// Schritt 2,Minus1Wochen</span></span><span>
</span><span><span class="hljs-variable">$interval_sub</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">'P1W'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">date_sub</span></span><span>(</span><span><span class="hljs-variable">$datetime</span></span><span>, </span><span><span class="hljs-variable">$interval_sub</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$datetime</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d'</span></span><span>); </span><span><span class="hljs-comment">// Ausgabe: 2025-03-04</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>In diesem Beispiel fügen wir das Datum zunächst zwei Monate mit DATE_ADD () hinzu und subtrahieren Sie dann eine Woche vom Ergebnis mit DATE_SUB () . Das Endergebnis ist '2025-03-04' .
Berechnen Sie die Zukunft oder das Vergangenheit : Wenn Sie die Zukunft oder das vergangene Datum berechnen müssen, können Sie Datum_ADD () und DATE_SUB () verwenden, um Operationen hinzuzufügen oder zu subtrahieren.
Handhabungsdatum und Zeitunterschied : Diese Funktionen sind bei der Berechnung der Differenz zwischen einem Datum und dem aktuellen Datum nützlich. Durch zuerst unter Verwendung von Datum_ADD () oder DATE_SUB () , um das Datum anzupassen und dann zu vergleichen, kann das Problem des komplexen Datumsbetriebs effektiv gelöst werden.
Timing -Aufgaben und -planung : Bei einigen automatisierten Aufgaben kann es erforderlich sein, die Ausführungszeit der Aufgabe gemäß bestimmten Zeitintervallen anzupassen. DATE_ADD () und DATE_SUB () können für jede Aufgabe verschiedene Zeitpunkte flexibel festlegen.