채택완료

D-DAY 문의드립니다.

2021-11-07 (일) 12:34:57 3,347

안녕하세요.
현재 게시판에서 d-day 출력되도록 했는데요.
(게시글 작성시 지정날짜)


 

Copy
$startdate = date("Y-m-d",time()); // 오늘 날짜 가져옴
$enddate = $list[$i]['wr_11']; // 마감일 2021-06-01 <-- 형식으로
$timediffer = (strtotime($enddate) - strtotime($startdate));   // 마감일과 오늘의 날짜 차이를 구함
$day = floor(($timediffer)/(60*60*24));

출력은 잘되는데.. 오늘날짜 기준으로. 11월10일 이 마감이면. "3일 남음"
출력이 잘되는데.
이부분을 D-3 일남음
이런식으로 출력하려면 어떻게해야할까요 ?
그리고 지정날짜 지나면.
종료,또는 마감
이라는 문구를 표시해주고싶으면 어떻게하면좋을까요?

 

|

답변 3개

채택된 답변
+20 포인트
2021-11-07 (일) 17:06:32

불필요하게 time(), date(), strtotime() 등을 반복해서 사용할 필요가 없습니다.

PHP 실행 시 $_SERVER['REQUEST_TIME']에 현재 timestamp값 있으니 그대로 이용하면 편합니다.

Copy
$diff = ceil((strtotime($list[$i]['wr_11'])-$_SERVER['REQUEST_TIME'])/86400);
echo $diff>0 ? 'D-'.$diff : '종료';
2021-11-07 (일) 13:33:18
Copy
if($day > 0 ) echo $day ."일 남음";

else        echo "마감";

답변을 작성하려면 로그인이 필요합니다.