테스트 사이트 - 개발 중인 베타 버전입니다

시간카운트 자바스크립트 문의 채택완료

</p>

<p><div id=count>

    <span id="counter1"></span>

    <p>일</p>

    <SPAN id="counter2"></SPAN>

    <p>시간</p>

    <SPAN id="counter3"></SPAN>

    <p>분</p>

    <SPAN id="counter4"></SPAN>

    <p>초</p>

</div></p>

<p> </p>

<p> </p>

<p><SCRIPT language=JavaScript> </p>

<p>    function getTime() { 

    now = new Date(); 

    dday = new Date(2019,02,01,10,30,59); 

    // 원하는 날짜, 시간 정확하게 초단위까지 기입.

    days = (dday - now) / 1000 / 60 / 60 / 24; 

    daysRound = Math.floor(days); 

    hours = (dday - now) / 1000 / 60 / 60 - (24 * daysRound); 

    hoursRound = Math.floor(hours); 

    minutes = (dday - now) / 1000 /60 - (24 * 60 * daysRound) - (60 * hoursRound); 

    minutesRound = Math.floor(minutes); 

    seconds = (dday - now) / 1000 - (24 * 60 * 60 * daysRound) - (60 * 60 * hoursRound) - (60 * minutesRound); 

    secondsRound = Math.round(seconds); </p>

<p>    document.getElementById("counter1").innerHTML = daysRound;

    document.getElementById("counter2").innerHTML = hoursRound;

    document.getElementById("counter3").innerHTML = minutesRound; 

    document.getElementById("counter4").innerHTML = secondsRound; 

    newtime = window.setTimeout("getTime();", 1000); 

    } </p>

<p></SCRIPT>

<SCRIPT>getTime()</SCRIPT></p>

<p>

 

위에가 구글에서 찾은 자바스크립트인데

한번에 div안에 넣는방식말고 일부로 숫자 하나하나에 스타일을 줘야하는 상황이라서 저렇게 따로따로 했습니다.

근데 시, 분, 초는 잘 나오는데 남은 일(day)은 어떻게 계산해야하는지 모르겠어요 ㅠㅠ

 

document.getElementById("counter1").innerHTML = daysRound;

 

이렇게 했는데 오늘이 29일이고 2월 1일까지 3일남았는데 30일 남았다고 뜨네요 ㅠㅠ 계산이 잘못된거같은데 도와주세요 ㅠㅠ

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

답변 1개

</p>

<p><div id="count">

    <span id="counter1"></span>

    <p>일</p>

    <span id="counter2"></span>

    <p>시간</p>

    <span id="counter3"></span>

    <p>분</p>

    <span id="counter4"></span>

    <p>초</p>

</div></p>

<p><script>

//디데이 종료 일자 설정

var countDownDate = new Date("January 31, 2019 06:00:00").getTime();</p>

<p>//1초마다 갱신되도록 함수 생성,실행

var x = setInterval(function() {</p>

<p>    // 오늘 날짜 등록

    var now = new Date().getTime();

    // 종료일자에서 현재일자를 뺀 시간

    var distance = countDownDate - now;

    // 각 변수에 일, 시, 분, 초를 등록

    var d = Math.floor(distance / (1000 * 60 * 60 * 24));

    var h = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));

    var m = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));

    var s = Math.floor((distance % (1000 * 60)) / 1000);</p>

<p>    document.getElementById("counter1").innerHTML = d;

    document.getElementById("counter2").innerHTML = h;

    document.getElementById("counter3").innerHTML = m;

    document.getElementById("counter4").innerHTML = s;

});

</script></p>

<p>

 

이렇게 했더니 잘되네요 ㅎㅎ

혼자 질문하고 혼자 답하지만 다른 분들도 필요하시면 참고해주세요!

로그인 후 평가할 수 있습니다

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

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

로그인

전체 질문 목록

🐛 버그신고