php 날짜 함수 오류인가요??
본문
echo "==>". date("Y-m", strtotime('-1 month'));
9월이 나와야 하는데
왜 10월이 나오죠??
이전달을 정확히 구하려면 어떻게 해야하나요?
답변 3
문서를 좀 더 찾아보니 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 자체를 잘 안써서 ㅋ
자문자답
정확히 한달전 데이터를 가져오는게 맞긴하지만
2024-10-31일에 실행할경우
한달전인 2024-09-31은 없는 날짜이기때문에 다시 10월을 리턴한다.
echo date('Y-m', strtotime('first day of last month'));
이렇게 하시면 11월31일의 이전달이 10월 30일로 정상표기 됩니다~
답변을 작성하시기 전에 로그인 해주세요.