COMMUNITY



크게 작게 인쇄

strtotime의 +1 month에 대한 테스트

strtotime을 사용하여 오늘로 하여금 다음의 날을 가져올 수 있는 정말 간편한 함수이다.

 

하지만 하나의 문제 이슈가 있다는 것이다.

보통 strtotime을 사용하여 다음달을 가져오는 부분은 date("Y-m-t", strtotime("+1 month")); 이런식이다.

문제는 이렇게 할 경우 오늘의 날짜가 31일이고 다음달이 오늘보다 작을 경우 문제가 되는것이다.

 

date("Y-m-t", strtotime("+1 month"));

실행날짜 : 2014-05-31
예상날짜 : 2014-06-30
결과날짜 : 2014-07-31

 

때문에 이를 해결하기 위한 방법이 여러가지가 있다.

 

웹에서 검색을 하거나하면 last day of +1 months 를 사용하거나 자체 함수를 생성하여 사용한다.

하지만 그것 또한 last day of +1 months를 사용하기 때문에 해당 방법은 PHP 버전의 영향을 받는다.

 

테스트 결과 PHP Version 5.3.3 정상 동작하지만 PHP Version 4.4.2 해당 구문을 인식하지 못한다.

 

때문에 해결 방법으로는

date("Y-m-t", strtotime("+1 month", strtotime(date("Y-m")."-01")));

이 형식으로 사용을 하면 무조건 01일 대입하여 내가 얻고자 하는것을 얻을 수 있다.

 

해당하는 달의 다음달을 얻기 위해서는 date("Y-m")에 파라미터의 날짜를 넣어주면 되겠다.

 

 

코멘트 0
PHP | 전체게시물 176
안내

포인트안내닫기

  • 글읽기0
  • 글쓰기0
  • 댓글쓰기0
  • 다운로드0
PHP리스트
번호 제목 등록일 조회
176 텍스트 02-14 485
175 텍스트 06-29 1850
174 텍스트 05-25 1841
173 텍스트
strtotime의 +1 month에 대한 테스트
06-02 5287
172 텍스트 09-26 6442
171 텍스트 08-24 6747
170 텍스트 08-15 8642
169 텍스트 04-28 7859
168 텍스트 02-07 7242
167 텍스트 11-21 7283
166 텍스트 +1 11-21 8342
165 텍스트 07-25 4247
164 텍스트 05-21 4505
163 텍스트 05-05 5135
162 텍스트 04-12 5268
161 텍스트 04-11 5151
160 텍스트 03-12 4868
159 텍스트 01-12 9091
158 텍스트 12-27 9916
157 텍스트 링크 12-13 8363
 맨앞이전123456789