2026, 새로운 도약을 시작합니다.

php 날짜 함수 오류인가요?? 채택완료

echo "==>". date("Y-m", strtotime('-1 month'));

9월이 나와야 하는데 

왜 10월이 나오죠??

이전달을 정확히 구하려면 어떻게 해야하나요?

답변 3개

채택된 답변
+20 포인트

문서를 좀 더 찾아보니 strtotime 의 -1 month 는 이전달의 일수를 계산하는 것 같습니다.

즉 9월은 30일까지였으니 10월 31일에서 30일만 빼서 10월 1일로 계산합니다.

https://blog.munilive.com/posts/In-strtotime-1-months-or-1-month-ago-is-not-30-days-old.html
https://bakssse.tistory.com/entry/PHP-strtotime-%EC%9D%B4%EC%A0%84-%EB%8B%AC-%EA%B5%AC%ED%95%A0%EB%95%8C-%EC%A3%BC%EC%9D%98-%ED%95%A0-%EC%A0%90

저도 이제야 알았네요 ㅋㅋ strtotime 자체를 잘 안써서 ㅋ

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

echo date('Y-m', strtotime('first day of last month'));

이렇게 하시면 11월31일의 이전달이 10월 30일로 정상표기 됩니다~

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

자문자답

정확히 한달전 데이터를 가져오는게 맞긴하지만

2024-10-31일에 실행할경우

한달전인 2024-09-31은 없는 날짜이기때문에 다시 10월을 리턴한다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고