개발을 하던 중 한 달 전의 기록을 가져와야 할 일이 있어서 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 포맷에 대해 더 자세히 알고 싶다면 여기를 참고하도록 하자.