자바스크립트 php 카운트다운 기념일 계산 KST(GMT+9)
본문
카운트 다운을 이용해 기념일 계산을 하고자 하는데요.
9시간이 부족하게 뜨는 것이 아무래도 자바스크립트 자체 함수가 UTC/GMT 시간대를 쓰기 때문인 것 같은데
제가 js를 잘 몰라 어디를 건드려야할지 감이 오지 않습니다....
config.php 파일에서 서버 시간은 서울로 되어있는 상태입니다.
어느 코드를 어떻게 고쳐야할지 조언주실 수 있으실까요?
관련되어 보이는 php와 js 코드입니다.
<? for($i=0; $row = sql_fetch_array($result); $i++) {
$h=date('H'); //현재시를 구함
$m=date('i'); //현재 분을 구함
$s=date('s'); //현재 초를 구함
$date=date("U",strtotime($row[co_date])); //생일의 유닉스타임스탬프를 구함
$today=time(); //현재의 유닉스타임스탬프를 구함
$day=($today-$date)/60/60/24; //몇일이지났는가를 계산
$day=ceil($day);
$timer = str_replace('/','-',$row['co_date']);
?>
script
<script>
function CountDownTimer(dt, id)
{
var end = new Date(dt);
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = now - end;
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
document.getElementById(id).innerHTML = days + 'Day, ';
document.getElementById(id).innerHTML += hours + ':';
document.getElementById(id).innerHTML += minutes + ':';
document.getElementById(id).innerHTML += seconds;
}
showRemaining();
timer = setInterval(showRemaining, 1000);
}
CountDownTimer('<?=$timer?>', 'dday');
</script>
답변 2
var end = new Date(dt);
window.status = end; //<---이렇게 해보면 시각이 어떻게 설정 되었는지 볼 수 있잖아요
즉
$timer = str_replace('/','-',$row['co_date']); <--이게 잘못 되었다는것이죠
수정
$timer = str_replace('/','-',$row['co_date']).'T00:00:00'; //해당일자 0시부터 시작
!-->
답변을 작성하시기 전에 로그인 해주세요.