시간카운트 자바스크립트 문의
본문
<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>
<SCRIPT language=JavaScript>
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);
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);
}
</SCRIPT>
<SCRIPT>getTime()</SCRIPT>
위에가 구글에서 찾은 자바스크립트인데
한번에 div안에 넣는방식말고 일부로 숫자 하나하나에 스타일을 줘야하는 상황이라서 저렇게 따로따로 했습니다.
근데 시, 분, 초는 잘 나오는데 남은 일(day)은 어떻게 계산해야하는지 모르겠어요 ㅠㅠ
document.getElementById("counter1").innerHTML = daysRound;
이렇게 했는데 오늘이 29일이고 2월 1일까지 3일남았는데 30일 남았다고 뜨네요 ㅠㅠ 계산이 잘못된거같은데 도와주세요 ㅠㅠ
!-->답변 1
<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>
<script>
//디데이 종료 일자 설정
var countDownDate = new Date("January 31, 2019 06:00:00").getTime();
//1초마다 갱신되도록 함수 생성,실행
var x = setInterval(function() {
// 오늘 날짜 등록
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);
document.getElementById("counter1").innerHTML = d;
document.getElementById("counter2").innerHTML = h;
document.getElementById("counter3").innerHTML = m;
document.getElementById("counter4").innerHTML = s;
});
</script>
이렇게 했더니 잘되네요 ㅎㅎ
혼자 질문하고 혼자 답하지만 다른 분들도 필요하시면 참고해주세요!
!-->
답변을 작성하시기 전에 로그인 해주세요.