PHP에서 월을 추가할 때 날짜 초과를 방지하려면 어떻게 해야 합니까?
PHP 날짜 추가(월말까지 제한)
개요
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>
로그인 후 복사
설명:
- 이 함수는 원래 날짜 문자열과 추가할 개월 수라는 두 가지 매개변수를 사용합니다.
- 생성됩니다. 원래 날짜 문자열에서 DateTime 객체.
- "j" 형식 지정자와 함께 format() 메서드를 사용하여 날짜를 추출합니다. 이는 앞에 0이 없이 날짜를 나타냅니다.
- 수정() 메소드를 이용하여 날짜에 지정된 개월 수를 더합니다.
- 월을 더한 후 다시 해당 월의 일자를 추출합니다.
- 달이 원본과 다르다면 오버런이 있었다는 의미이며, 날짜를 이전 달의 마지막 날로 수정하여 수정합니다.
- 마지막으로 수정된 DateTime 객체를 반환합니다.
예:
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
Repo : 팀원을 부활시키는 방법
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 파일 저장 위치 : 어디에 있고 그것을 보호하는 방법은 무엇입니까?
3 몇 주 전
By DDD

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7315
9


자바 튜토리얼
1625
14


Cakephp 튜토리얼
1348
46


라라벨 튜토리얼
1261
25


PHP 튜토리얼
1208
29



Laravel Back End : Part 2, React가있는 React 앱 구축

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법
