매우 가능성없는 일이지만 php 날짜함수 관련 질문해요.
본문
특정 날짜에서 7일을 더한 날짜를 구한다고 할 때
방법이 다양한데요.
strtotime('2015-02-12') + 86400 * 7 이렇게 하거나
strtotime('+7 day', strtotime('2015-02-12')) 이렇게도 되구요.
근데 두번째 경우에는 함수가 2번이나 사용하기 때문에 (단점은 아니지만)
첫번째 경우를 대부분 사용할 것 같은데요.
근데 질문은
절대 그럴일은 없지만
저 86400 이라는 숫자가 바뀌게 된다면 인데요...
1일이 86400초라서 저렇게 사용한건데
1일의 초가 바뀐다면 86400 을 사용한 모든 코드를 바꿔야 하는 문제점이 생길텐데요.
그럴리는 없겠지만,
정확한 계산을 위해서는 두번째 방법이 안전하지 않을까 생각이 되거든요.
전문가님들은 86400을 직접 쓰는것에 대해서 어떻게 생각하는지 궁금합니다.
그렇다고 86400 을 변수나 php상수에 집어넣어서 사용하기에는 대단한 숫자는 아닌 것 같긴 한데 말이죠.
답변 4
근데 두번째 경우에는 함수가 2번이나 사용하기 때문에 (단점은 아니지만)
---------> strtotime("2015-02-12 +7 day"); 두번 사용할 필요 없습니다
2번을 추천해 드립니다..
1달후로 계산을 할경우 28/30/31일의 경우가 각기 다르기 때문에
1Month로 사용을 할수가 있습니다.
변수에 담어넣고 유지보수하기좋게하면될거같네요
만약에값이변한다고해도 변수값 한 번만 수정해주면 되잖아요
php strtotime 이 편리는 하지만 용도에 맞진 않습니다.
아래의 링크 부분을 참조하면 좋습니다.
그러므로 이런부분은 DB에서 처리하는게 좋습니다.
오늘 :
WHERE START_AT=CURDATE();
내일 :
WHERE START_AT=CURDATE() + INTERVAL 1 DAY;
어제 :
WHERE START_AT=CURDATE() - INTERVAL 1 DAY;
DB 를 사용하지 않는다면 PHP의 date class 를 쓰는게 더 좋겠지요 :)