날짜 시간 카운트 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을 붙게 구현하시면 됩니다.

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

회원로그인

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