PHP DateTime으로 월 수정: 의도된 동작 발견
PHP의 DateTime 클래스로 작업할 때 월을 더하거나 빼면 항상 결과가 나오지 않을 수 있습니다. 예상된 결과. 문서에서 경고하고 있듯이 이러한 작업은 보기만큼 직관적이지 않으므로 "주의"하십시오.
의도된 동작 설명
다음에 제공된 예를 고려하십시오. 문서:
$date = new DateTime('2000-12-31'); $date->modify('+1 month'); // Move ahead by 1 month echo $date->format('Y-m-d') . "\n"; // Prints 2001-01-31 $date->modify('+1 month'); // Advance another month echo $date->format('Y-m-d') . "\n"; // Prints 2001-03-03
예상대로 월을 늘리는 대신 결과는 다음과 같습니다. 3월 3일로 이동합니다. 이유는 무엇입니까?
내부적으로 발생하는 상황은 다음과 같습니다.
- 1개월을 추가하면 월 수가 1씩 늘어나 2001년 12월 31일이 됩니다.
- 그러나 12월은 31일만 있고 31일이 없습니다. 1월.
- 결과적으로 PHP는 날짜를 자동으로 다음 날인 2월 1일로 조정합니다.
- 2월이 28일밖에 없기 때문에 이제 한 달을 더 추가하면 3월 3일이 됩니다.
기대치 달성 동작
"1개월"이 날짜를 한 달 앞당기는 예상 동작을 달성하려면 다음과 같은 몇 가지 옵션이 있습니다.
- 수동 계산: 다음 달의 일수를 확인하고 날짜를 수동으로 조정하세요.
- PHP 5.3 해결 방법: "다음 달의 첫날" 스탠자를 활용하여 다음 달의 첫 번째 날로 직접 이동합니다. 예:
$d = new DateTime('2010-01-31'); $d->modify('first day of next month'); echo $d->format('F'), "\n"; // Correctly prints February
결론
예기치 않은 결과를 방지하려면 DateTime의 월 수정 작업의 의도된 동작을 이해하는 것이 중요합니다. 수동 계산 또는 "다음 달 1일" 기능을 사용하면 PHP 애플리케이션에서 원하는 날짜 조작 기능을 얻을 수 있습니다.
위 내용은 PHP의 DateTime::modify(' 1 Month')가 예상치 못한 결과를 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

PHP 로깅은 웹 애플리케이션을 모니터링하고 디버깅하고 중요한 이벤트, 오류 및 런타임 동작을 캡처하는 데 필수적입니다. 시스템 성능에 대한 귀중한 통찰력을 제공하고 문제를 식별하며 더 빠른 문제 해결을 지원합니다.

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

Alipay PHP ...


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Dreamweaver Mac版
시각적 웹 개발 도구
