개요
PHP의 날짜 조작 기능으로 월 추가 가능 하지만 때때로 다음 달에 초과 실행이 발생할 수 있습니다. 이 문제는 2월 29일에 한 달을 추가하는 등 대상 월에 존재하지 않는 날짜에 월을 추가할 때 발생합니다.
제안 솔루션: 사용자 정의 날짜 추가 기능
이 문제를 해결하기 위해 날짜에 월을 추가하는 동시에 결과 월의 마지막 날을 초과하지 않는 사용자 정의 함수를 만들 수 있습니다.
구현:
<code class="php">function add($date_str, $months) { $date = new DateTime($date_str); // Extract the day of the month as $start_day $start_day = $date->format('j'); // Add 1 month to the given date $date->modify("+{$months} month"); // Extract the day of the month again so we can compare $end_day = $date->format('j'); if ($start_day != $end_day) { // The day of the month isn't the same anymore, so we correct the date $date->modify('last day of last month'); } return $date; }</code>
설명:
예:
<code class="php">$result = add('2011-01-28', 1); // 2011-02-28 $result = add('2011-01-31', 3); // 2011-04-30 $result = add('2011-01-30', 13); // 2012-02-29 $result = add('2011-10-31', 1); // 2011-11-30 $result = add('2011-12-30', 1); // 2011-02-28</code>
위 내용은 PHP에서 월을 추가할 때 날짜 초과를 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!