매우 가능성없는 일이지만 php 날짜함수 관련 질문해요.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
매우 가능성없는 일이지만 php 날짜함수 관련 질문해요.

QA

매우 가능성없는 일이지만 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 이 편리는 하지만 용도에 맞진 않습니다.

아래의 링크 부분을 참조하면 좋습니다.

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 를 쓰는게 더 좋겠지요 :)

답변을 작성하시기 전에 로그인 해주세요.
전체 763
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT