현재 위치: > 최신 기사 목록> date_add 함수를 사용하여 PHP의 시간 간격을 계산하는 방법은 무엇입니까? 실제 응용 프로그램 공유

date_add 함수를 사용하여 PHP의 시간 간격을 계산하는 방법은 무엇입니까? 실제 응용 프로그램 공유

gitbox 2025-06-24

date_add 함수 소개

date_add 함수의 기본 구문은 다음과 같습니다.

 <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>
  • $ 객체 : 현재 시간을 나타내는 DateTime 객체.

  • $ 간격 : 추가 할 시간 간격을 나타내는 DateInterval 객체.

이 함수는 새로운 DateTime 객체를 반환합니다.이 기능은 시간 간격이 추가 된 후 결과입니다.

DateTime 객체를 만듭니다

date_add를 사용하기 전에 먼저 dateTime 객체를 만들어야합니다. 이것은 일반적으로 새로운 dateTime () 로 달성하거나 특정 날짜를 지정하여 만들 수 있습니다.

 <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>

이런 식으로, 우리는 2025 년 6 월 16 일에 14:00:00을 나타내는 DateTime 객체를 만듭니다.

Dateinterval 객체를 만듭니다

Dateinterval 객체는 시간 간격을 나타냅니다. 형식으로 p 로 시작하는 문자열 로이 객체를 만들 수 있습니다.

  • P : 기간을 나타냅니다

  • y (년), m (월), d (일), h (시간), i (분), s (초)와 같은 시간 단위가 따릅니다.

예를 들어, 1 일을 나타내려면, P1D를 사용하고 PT2H를 2 시간 동안 사용할 수 있습니다.

 <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>

시간 계산에 date_add를 사용하십시오

DateTimeDateInterval 객체를 사용하면 date_add 함수를 사용하여 시간 계산을 수행 할 수 있습니다. 예를 들어, 2025-06-16 14:00:00 에 5 일을 추가한다고 가정 해 봅시다.

 <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">// 증가하다5하늘</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>-&gt;</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>

출력 결과는 다음과 같습니다.

 <span><span><span class="hljs-number">2025-06-21 14:00:00</span></span><span>
</span></span>

보시다시피, date_add는 원래 날짜를 5 일 동안 추가하고 새 날짜를 얻었습니다.

다른 응용 프로그램 예

1. 시간과 분을 늘리십시오

예를 들어, 일수를 늘리는 것 외에도 시간, 분 등을 늘릴 수 있습니다. 예를 들어, 특정 시점에서 3 시간 45 분을 추가한다고 가정 해 봅시다.

 <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">// 증가하다3시간45분</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>-&gt;</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>

출력 결과는 다음과 같습니다.

 <span><span><span class="hljs-number">2025-06-16 17:45:00</span></span><span>
</span></span>

2. 시간을 줄입니다

우리는 음수 값으로 시간을 줄일 수 있습니다. 우리가 2 일씩 시간을 빼고 싶다고 가정하면 다음을 수행 할 수 있습니다.

 <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">// 2하늘</span></span><span>
</span><span><span class="hljs-variable">$interval</span></span><span>-&gt;invert = </span><span><span class="hljs-number">1</span></span><span>;  </span><span><span class="hljs-comment">// 음수 값으로 반전하십시오</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>-&gt;</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>

출력 결과는 다음과 같습니다.

 <span><span><span class="hljs-number">2025-06-14 14:00:00</span></span><span>
</span></span>

반전 속성을 1로 설정하면 DateInterval은 음의 시간 간격을 나타내므로 시간 감산 작동을 실현합니다.

3. 복잡한 시간 간격을 사용하십시오

date_add는 또한보다 복잡한 시간 간격을 지원합니다. 예를 들어, 몇 년, 몇 달, 일 등을 추가 할 수 있습니다. 동시에 :

 <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">// 증가하다1년도2달5하늘</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>-&gt;</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>

출력 결과는 다음과 같습니다.

 <span><span><span class="hljs-number">2026-08-21 14:00:00</span></span><span>
</span></span>

이 예에서는 1 년, 2 개월 5 일을 추가했습니다.

결론

date_add 는 PHP에서 매우 유용한 기능으로 날짜와 시간을 추가하고 빼기 위해 도움이됩니다. DateTimeDateInterval 객체를 결합하여 다양한 시간 간격의 계산 요구 사항을 유연하게 처리 할 수 ​​있습니다. 며칠, 시간, 분 또는 여러 시간 유닛을 복잡하게 추가하더라도 쉽게 처리 할 수 ​​있습니다. 실제 개발에서는이 날짜 및 시간 작업을 마스터하는 것이 매우 중요하며, 이는 처리 시간 논리의 효율성을 크게 향상시킬 수 있습니다.