php date와 mysql select 차이 어느 것이 맞다고 보세요? 정보
php date와 mysql select 차이 어느 것이 맞다고 보세요?본문
날짜 함수로 하면
date( "Y-m-d", strtotime( "2014-01-31 +1 month" ) ); --> 2014-03-03
sql문으로 하면
SELECT DATE_ADD( '2014-01-31', INTERVAL 1 MONTH ) --> 2014-02-28
한달 후를 계산하면 저렇게 나오게 되는데 여러분은 어느것이 옳다고 보시는가요?
추천
0
0
댓글 6개
언어의 특성을 잘 알고 사용처에 적절히 사용하면 되겠죠.
말일 부터 시작해 1달 텀이니 sql문이 맘에는 듭니다만...ㅎㅎ
말일 부터 시작해 1달 텀이니 sql문이 맘에는 듭니다만...ㅎㅎ

date함수가 저런지 몰랐네요. 저리 나오면 대략난감 아닌가요?
여기선 select문이 요구에 더 부합하지 않나 생각 됩니다.
예약 프로그램 같은 거 만들 때...
여기선 select문이 요구에 더 부합하지 않나 생각 됩니다.
예약 프로그램 같은 거 만들 때...

http://stackoverflow.com/questions/7119777/php-strtotime-1-month-behaviour
Php 의 이슈화된 버그이고, 해결방법이 올라와있네요.
그런데, 저는 처음알아서 ...정보 감사합니다.
쿼리로 날짜 처리하는게 습관인게 좋을때도 있었군요
Php 의 이슈화된 버그이고, 해결방법이 올라와있네요.
그런데, 저는 처음알아서 ...정보 감사합니다.
쿼리로 날짜 처리하는게 습관인게 좋을때도 있었군요
다음달에 날짜(31)가 존재하지 않으면 그 다음달로 가는거 같습니다.
echo date( "Y-m-d", strtotime( "2014-01-28 +1 month" ) ); // 2014-02-28
echo date( "Y-m-d", strtotime( "2014-01-31 +1 month" ) ); // 2014-03-03
echo date( "Y-m-d", strtotime( "2014-01-28 +1 month" ) ); // 2014-02-28
echo date( "Y-m-d", strtotime( "2014-01-31 +1 month" ) ); // 2014-03-03
그렇습니다
마지막 달이 31일까지 있지않으면 그 다음달로 계산합니다
+2 month 하면 작은달 관계없이 2달 후를 계산하거든요
date( "Y-m-d", strtotime( "2014-01-31 +2 month" ) ); -->2014-03-31 이 된단 말이죠
+3 month <--- 이건 2014-05-01 이 되어버린단 말이죠
일관성 있게 3월 3일부터 한달 후인 2014-04-03 이 되면 그런 용도로 쓰면 되는데 왔다리 갔다리..
무턱대고 사용했다가 형편없는 프로그래머 될뻔했네요
앗, 형편없는거 맞나? ㅠㅠ
하여튼 strtotime 은 약간의 문제가 있는 함수다라고 인식하고 쓰야겠어요
마지막 달이 31일까지 있지않으면 그 다음달로 계산합니다
+2 month 하면 작은달 관계없이 2달 후를 계산하거든요
date( "Y-m-d", strtotime( "2014-01-31 +2 month" ) ); -->2014-03-31 이 된단 말이죠
+3 month <--- 이건 2014-05-01 이 되어버린단 말이죠
일관성 있게 3월 3일부터 한달 후인 2014-04-03 이 되면 그런 용도로 쓰면 되는데 왔다리 갔다리..
무턱대고 사용했다가 형편없는 프로그래머 될뻔했네요
앗, 형편없는거 맞나? ㅠㅠ
하여튼 strtotime 은 약간의 문제가 있는 함수다라고 인식하고 쓰야겠어요

조용히 스크랩을 눌러봅니다.