개발을 하던 중 한 달 전의 기록을 가져와야 할 일이 있어서 strtotime("-1 month")를 이용해 가져왔다.

문제가 터진건 오늘이였다. 한 달 전의 기록을 가져오지 못하는 상황이 발생했는데, 코드를 하나하나 살펴보니 strtotime("-1 month")가 2월이 아닌 3월을 출력하고 있었다.

정확한 확인을 위해 검색을 해 보니 month에서 1을 빼는 개념이 아니였던 것이다.

해결법은 "-1 month" 대신 "first day of -1 month"를 사용하면 된다.
"first day of"를 사용하여 기준 월의 1일로 맞추고, "-1 month" 또는 "previous month"를 사용하여 이전 달로 맞추는 것이다.

strtotime 포맷에 대해 더 자세히 알고 싶다면 여기를 참고하도록 하자.