linux/php

STRTOTIME() 이전달/다음달 버그

mysop 2021. 8. 30. 11:37
반응형

STRTOTIME 함수를 유용히 잘 쓰고 있지만

주의해야 할점이 하나 있다.

 

이전달 다음달을 계산할때 오늘날짜를 기준으로 처리하기때문에

 

단순히 STRTOTIME("next month") 이런식으로 처리하면

30일, 31일이 없는 달의 경우 다음달이 제대로 표시되지 않는다

 

간단한 해결방법이 있다.

"next month"대신 "first day of month"를 쓰면 된다.

 

<?php
$nowDate = '2019-08-31';

$resultDate = date('Y-m-t', strtotime('first day of +1 month', strtotime($nowDate)));

echo $resultDate;

// 예상 : 2019-09-30
// 결과 : 2019-09-30

 

출처 : http://blog.freezner.com/archives/2157

 

[PHP] strtotime() 함수 익월/전월(+1 month/-1 month) 파라미터 버그

PHP에서 당월의 말일 기준으로 다음달 마지막 일자를 구하려는 경우 아래 구문을 사용하는데 버그가 존재합니다.

blog.freezner.com

 

728x90
반응형