매우 가능성없는 일이지만 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"); 두번 사용할 필요 없습니다
댓글을 작성하려면 로그인이 필요합니다.
php strtotime 이 편리는 하지만 용도에 맞진 않습니다.
아래의 링크 부분을 참조하면 좋습니다.
http://blog.munilive.com/strtotime%EC%97%90%EC%84%9C-1-months-%EB%98%90%EB%8A%94-1-month-ago%EB%8A%94-30%EC%9D%BC-%EC%9D%B4%EC%A0%84%EC%9D%B4-%EC%95%84%EB%8B%88%EB%8B%A4/">http://blog.munilive.com/strtotime%EC%97%90%EC%84%9C-1-months-%EB%98%90%EB%8A%94-1-month-ago%EB%8A%94-30%EC%9D%BC-%EC%9D%B4%EC%A0%84%EC%9D%B4-%EC%95%84%EB%8B%88%EB%8B%A4/
그러므로 이런부분은 DB에서 처리하는게 좋습니다.
오늘 :
WHERE START_AT=CURDATE();
내일 :
WHERE START_AT=CURDATE() + INTERVAL 1 DAY;
어제 :
WHERE START_AT=CURDATE() - INTERVAL 1 DAY;
DB 를 사용하지 않는다면 PHP의 date class 를 쓰는게 더 좋겠지요 :)
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인