date_add () 함수는 datetime 객체에 시간 간격을 추가하는 데 사용됩니다. 시간 간격을 나타내는 DateTime 객체와 DateInterval 객체의 두 매개 변수를 허용합니다. 시간 간격은 해, 월, 일, 시간 및 분과 같은 단위의 조합 일 수 있습니다.
문법:
<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>매개 변수 :
$ dateTime : DateTime 객체는 추가 작업을 수행합니다.
$ 간격 : 추가 할 시간 간격을 나타내는 DateInterval 객체.
예:
<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">// 추가1하늘</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">// 산출: 2025-01-02</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>위의 코드에서는 DateTime 객체를 생성하고 '2025-01-01' 으로 초기화 한 다음 "1 일 추가"를 의미하는 DateInterval 객체를 만듭니다. 그리고 마지막으로 date_add () 함수를 통해 날짜에 시간 간격을 추가합니다.
date_add () 와 달리 date_sub () 함수는 datetime 객체에서 시간 간격을 빼는 데 사용됩니다. 그 기능은 기본적으로 date_add () 와 동일하지만 기능은 증가보다는 시간을 줄이는 것입니다.
문법:
<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>매개 변수 :
$ dateTime : dateTime 객체는 뺄셈 작업을 수행합니다.
$ 간격 : DateInterval 객체를 빼야 할 시간 간격을 나타냅니다.
예:
<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">// 마이너스1하늘</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">// 산출: 2024-12-31</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>이 예에서는 DateTime 객체를 생성하고 '2025-01-01' 으로 초기화 한 다음 Date Interval 객체를 "하루 씩 빼기"를 의미하는 DateInterval 객체를 작성하여 날짜 _sub () 함수를 통해 날짜부터 시간 간격을 빼냅니다.
기능적 차이 : date_add ()는 날짜에 시간 간격을 추가하는 데 사용되는 반면 date_sub ()는 날짜에서 시간 간격을 빼는 데 사용됩니다.
매개 변수 순서 :이 두 기능의 매개 변수 순서와 사용은 기본적으로 동일하지만 그 효과는 정확히 반대입니다. date_add ()는 추가 작업을 수행합니다. date_sub ()는 뺄셈 작업을 수행합니다.
때로는 복잡한 날짜 작업을 처리 할 때 날짜에 여러 개의 다른 시간 작업을 수행하기 위해 Date_add () 및 Date_sub ()를 동시에 사용해야 할 수도 있습니다. 예를 들어, 날짜는 먼저 2 개월에 추가 된 다음 일주일로 뺄 수 있습니다. 이 두 기능을 조합 하여이 요구 사항을 달성 할 수 있습니다.
예:
<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">// 첫 번째 단계,추가2달</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">// 2 단계,마이너스1주</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">// 산출: 2025-03-04</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>이 예에서는 먼저 date_add ()를 사용하여 2 개월 동안 날짜를 추가 한 다음 date_sub ()를 사용하여 결과에서 일주일을 빼냅니다. 최종 결과는 '2025-03-04' 입니다.
미래 또는 과거 날짜 계산 : 미래 또는 과거 날짜를 계산 해야하는 경우 date_add () 및 date_sub ()를 사용하여 작업을 추가하거나 빼게 할 수 있습니다.
처리 날짜 및 시차 :이 기능은 날짜와 현재 날짜의 차이를 계산할 때 유용합니다. 날짜 _add () 또는 date_sub ()를 먼저 사용하여 날짜를 조정 한 다음 비교하면 복잡한 날짜 조작 문제를 효과적으로 해결할 수 있습니다.
타이밍 작업 및 예약 : 일부 자동화 된 작업에서는 특정 시간 간격에 따라 작업의 실행 시간을 조정해야 할 수도 있습니다. date_add () 및 date_sub () 는 각 작업마다 다른 시점을 유연하게 설정할 수 있습니다.