실시간 타임 카운트 다운 코드에서
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
https://xetown.com/questions/1812994
이 게시물을 참조해서 나에게 맞게끔 수정해서 실시간 타임 카운트 다운이 되게는 했는데
targetDate에 확장변수를 넣을 수가 없네요.
{@
$now = date("Y-m-d H:i:s");
$date = $document->getExtraEidValueHTML($mi->end_name);
$this_day = date_create($document->getExtraEidValueHTML($mi->end_name));
$date1 = date("Y-m-d H:i:s",strtotime($this_day->format("Y-m-d H:i:s").($mi->i_d)));
$datetime = new DateTime($now);
$date2 = $datetime->modify($mi->a_d);
$date3 = date("Y-m-d H:i:s", strtotime($date.($mi->a_h)));
$w_d_day_text = str_replace('.', '-', $date);// D-day 날짜 설정
$w_d_day = strtotime($w_d_day_text);
$w_today = time();// 오늘 날짜 설정
$w_diff = $w_d_day - $w_today;// D-day와 오늘 날짜 차이 계산
$w_days = floor($w_diff / (60 * 60 * 24))+1;// 초를 일 수로 변환
$years = floor($w_diff/31536000);
$days = floor($w_diff/86400);
$date4 = ($days -(365*$years));
$time = $w_diff - ($days*86400);
$hours = floor($time/3600);
$time = $time - ($hours*3600);
$min = floor($time/60);
$sec = $time - ($min*60);
}
<!--@if(!$date)-->
<!--@elseif($now > $date)-->
<span style="color:#a6a6a6; text-decoration:line-through !important;"><span class="sbtn_mini sbtn-dark" style="margin-right:5px">{$mi->end_title}</span>
<!--@elseif($now > $date3 && $now < $date)-->
<span style="color:red"><span class="sbtn_mini sbtn-red" style="margin-right:5px">{$mi->today_title} <span id="countdown" cond="$mi->d_day">[{$mi->d_day_title} <!--@if($days)-->{$days}일<!--@end--> <!--@if($hours)-->{$hours}시<!--@end--> {$min}분 {$sec}초] 남음</span></span>
<!--@elseif($now < $date1)-->
<span><span class="sbtn_mini sbtn-yellow" style="margin-right:5px">{$mi->ing_title} <span cond="$mi->d_day">[{$mi->d_day_title} {$days}일 {$hours}시 {$min}분 {$sec}초] 남음</span></span>
<!--@elseif($date2)-->
<span><span class="sbtn_mini sbtn-blue" style="margin-right:5px">{$mi->approach_title} <span cond="$mi->d_day">[{$mi->d_day_title} <!--@if($days)-->{$days}일<!--@end--> {$hours}시 {$min}분 {$sec}초] 남음</span></span>
<!--@end-->
<script>
const targetDate = new Date(2024, 03, 12, 00, 00, 00);
const updateCountdown = () => {
const now = new Date();
const difference = targetDate - now; // 현재 시간과 목표 시간의 차이 (밀리초)
// 밀리초를 일, 시간, 분, 초로 변환
const days = Math.floor(difference / (1000 * 60 * 60 * 24));
const hours = Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((difference % (1000 * 60)) / 1000);
// 두 자리 숫자로 변환 (예: 1 -> 01)
const pad2 = (number) => number.toString().padStart(2, "0");
// 화면에 출력
document.getElementById("countdown").innerHTML = `${hours}시간 ${pad2(minutes)}분 ${pad2(seconds)}초 남음`;
};
// 1초마다 updateCountdown() 함수 실행
setInterval(updateCountdown, 1000);
updateCountdown(); // 처음 로딩 시에도 시간 출력
</script>
const targetDate = new Date(2024, 03, 12, 00, 00, 00);
이 부분에서 날짜를 직접 입력하면 카운트가 작동이 되는데 $module_info->end_name 확장변수를 대입을 못하겠네요.
많은 가르침 바랍니다.

댓글 2