개발자의 끄적끄적

[php] php strtotime 날짜 계산 오류 해결 방법 본문

개발/php

[php] php strtotime 날짜 계산 오류 해결 방법

효벨 2024. 11. 1. 01:00
728x90
반응형

[php] php strtotime 날짜 계산 오류 해결 방법

 

php 에서

 

날짜 계산을할때 strtotime 과 date 함수를 이용해서 특정시간 이전 혹은 이후의 시간을 계산하고는 합니다!

 

그렇게 계산을 하던중

 

지금 현재 2024년 10월 31일인데

 

한달전의 날짜를 알고싶어서 아래와 같이 사용하고 echo 로 출력을 했더니

 

// now ymd : 2024-10-31
$date = date("Y-m-d", strtotime("-1 months"));
echo $date;
// result : 2024-10-01

 

2024-10-01 이 나오는 겁니다!

 

이건 뭔가 하고 한참을 삽질하닥 검색을 해봤더니...

 

이럴때는 아래와 같이 사용을 하라고 되어있네요!

$base = strtotime(date('Y-m',time()) . '-01 00:00:01');
echo date('Y-m-d',strtotime('-1 month', $base));

// result : 2024-09-01

 

위처럼 베이스 날짜는 현재달의 1일 1초로 설정해놓고 그걸 기준으로 1달전의 데이터를 출력했더니

 

정상적으로 2024-09-01 이 나옵니다!

 

버그인지 뭔지..

 

잘 되던게 갑자기 날짜가 꼬인듯해서 한참을 삽질했네요 ㅠ

 

참고들 하세요!

반응형
Comments