La fonction date_add () est utilisée pour ajouter un intervalle de temps à un objet DateTime . Il accepte deux paramètres: un objet DateTime et un objet DateInterval représentant l'intervalle de temps. L'intervalle de temps peut être une combinaison d'unités telles que l'année, le mois, le jour, l'heure et la minute.
grammaire:
<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>paramètre:
$ DateTime : l'objet DateTime pour effectuer l'opération d'addition.
$ Interval : un objet DateInterval qui indique l'intervalle de temps à ajouter.
Exemple:
<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">// Ajouter à1ciel</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">// Sortir: 2025-01-02</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Dans le code ci-dessus, nous créons un objet DateTime et l'avons initialisée en «2025-01-01» , puis nous créons un objet DateInterval qui signifie «Ajouter 1 jour», et enfin ajoutant l'intervalle de temps à la date à travers la fonction date_add () .
Contrairement à Date_add () , la fonction date_sub () est utilisée pour soustraire un intervalle de temps à partir d'un objet DateTime . Sa fonction est fondamentalement la même que Date_add () , mais sa fonction est de réduire le temps plutôt que d'augmenter.
grammaire:
<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>paramètre:
$ DateTime : l'objet DateTime pour effectuer l'opération de soustraction.
$ Interval : un objet DateInterval qui indique l'intervalle de temps qui doit être soustrait.
Exemple:
<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">// moins1ciel</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">// Sortir: 2024-12-31</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Dans cet exemple, nous créons également un objet DateTime et l'initialisons en «2025-01-01» , puis créons un objet DateInterval qui signifie «soustraire par 1 jour», en soustrayant l'intervalle de temps à partir de la date à la fonction de date_sub () .
Différence fonctionnelle : date_add () est utilisée pour ajouter des intervalles de temps aux dates, tandis que date_sub () est utilisé pour soustraire les intervalles de temps des dates.
Ordre des paramètres : Bien que l'ordre des paramètres et l'utilisation de ces deux fonctions soient fondamentalement les mêmes, leurs effets sont exactement le contraire. Date_add () effectue une opération d'addition, date_sub () effectue un opération de soustraction.
Parfois, lorsque vous traitez des opérations de date complexes, nous devrons peut-être utiliser date_add () et date_sub () en même temps pour effectuer plusieurs opérations de temps différentes à une date. Par exemple, une date est d'abord ajoutée à deux mois, puis soustraite à une semaine. Nous pouvons utiliser ces deux fonctions en combinaison pour atteindre cette exigence.
Exemple:
<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">// premier pas,Ajouter à2Mois</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">// Étape 2,moins1Semaines</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">// Sortir: 2025-03-04</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Dans cet exemple, nous ajoutons d'abord la date de deux mois à l'aide de date_add () , puis de soustraire une semaine du résultat en utilisant date_sub () . Le résultat final est «2025-03-04» .
Calculez la date future ou passée : si vous devez calculer la date future ou passée, vous pouvez utiliser date_add () et date_sub () pour ajouter ou soustraire des opérations.
Gestion de la date et du décalage horaire : ces fonctions sont utiles lors du calcul de la différence entre une date et la date actuelle. En utilisant d'abord date_add () ou date_sub () pour ajuster la date, puis en comparant, le problème de fonctionnement de la date complexe peut être résolu efficacement.
Tâches de synchronisation et planification : Dans certaines tâches automatisées, il peut être nécessaire d'ajuster le temps d'exécution de la tâche en fonction des intervalles de temps spécifiques. date_add () et date_sub () peuvent définir de manière flexible différents points de temps pour chaque tâche.