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

매우 가능성없는 일이지만 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 를 쓰는게 더 좋겠지요 :)

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

회원로그인

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