날짜 시간 카운트 1~9를 01~09로 표시하기 문의드립니다.

날짜 시간 카운트 1~9를 01~09로 표시하기 문의드립니다.

QA

날짜 시간 카운트 1~9를 01~09로 표시하기 문의드립니다.

본문

올려주신 시간스크립인데 시간이나 날짜에 1~9를 01~09로 표시하려면 어떻게 수정해야 할지요?

 

 

<SCRIPT language=JavaScript>

function getTime() {

now = new Date();

dday = new Date(2018,11,20,00,00,00);

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

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("counter0").innerHTML = daysRound;

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

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

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

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

}

</SCRIPT>

이 질문에 댓글 쓰기 :

답변 2

분을 예를들어서

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

바로 아래에

 

minutes = ((minutes < 10) ? "0":"" )+minutes;

로 추가해보세요

 

단 위의 코드를 적용하는건 출력직전에 처리하셔야합니다.

 

중간에 계산식이 존재할경우

다시 parseInt를 해야합니다.


제가 적어드린 위치에 그대로 작성하시면 안되시겠네요

하단에서 적용해야할거 같네요

minutesRound = Math.floor(minutes);
가 존재하니

minutesRound = ((minutesRound < 10) ? "0":"" )+minutesRound ;
와 같이 되어야 맞는것 같고

그외의 다른 변수들도 출력직전에 해당 내용을 각각의 변수에 적용하시면 됩니다.

플레토님 처럼 데이터값에 10 이하인 값은 0을 붙게 구현하시면 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 762
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT