디데이 남은날자 자동구하기중 종료에 관하여

디데이 남은날자 자동구하기중 종료에 관하여

QA

디데이 남은날자 자동구하기중 종료에 관하여

본문

D-day 까지 남아 있는 날짜를 구하는 소스인데요

 

아래소스는 디데이시점을 오늘 00시로했습니다. 

결과:

-1day-19시-4분0-47초 남았습니다.


<div class="content"></div>
    <div class="progress-bar-con">
        <div class="progress-bar"></div>
    </div>
<script>
    //D-Day 남은 날짜 자동으로 구하기
(function(){
    var widthbar = $('.progress-bar').width();
    var counter = function(){
        var startDate = new Date("2021/04/21 00:00:00") //디데이 (날짜 설정)
            setInterval(function(){
                var currentDate = new Date(); //현재 날짜 가져오기
                var distance = startDate.getTime() - currentDate.getTime();
                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);
                if(s < 10){ s = '0'+s;}
                $('.content').html(d+'day'+ h +'시'+ m +'분'+ s+'초 남았습니다.' )
                $('.progress-bar').css({
                    width: d * (widthbar / 31) +'px' //여기서 31은 1일부터 ~ 31일까지 기준이다.
                })
        }, 1000);
    }
    counter();
})();
    </script>

 

 

아래소스는 디데이시점을 내일 00시로했습니다.

결과:

0day5시51분05초 남았습니다.


<div class="content"></div>
    <div class="progress-bar-con">
        <div class="progress-bar"></div>
    </div>
    <script>
    //D-Day 남은 날짜 자동으로 구하기
(function(){
    var widthbar = $('.progress-bar').width();
    var counter = function(){
        var startDate = new Date("2021/04/22 00:00:00") //디데이 (날짜 설정)
            setInterval(function(){
                var currentDate = new Date(); //현재 날짜 가져오기
                var distance = startDate.getTime() - currentDate.getTime();
                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);
                if(s < 10){ s = '0'+s;}
                $('.content').html(d+'day'+ h +'시'+ m +'분'+ s+'초 남았습니다.' )
                $('.progress-bar').css({
                    width: d * (widthbar / 31) +'px' //여기서 31은 1일부터 ~ 31일까지 기준이다.
                })
        }, 1000);
    }
    counter();
})();
    </script>

 

 

하고자 하는것은

 

질문1) D-day가 되면  '0' 또는 '종료'로 출력하고 싶습니다.

질문2) D-day가 지나면 '초'표시가 보시면 좀 이상해지는데 어느부분 문제일까요?

 

이 질문에 댓글 쓰기 :

답변 1

currentDate.getTime(); 과

 

startDate.getTime(); 를 비교해서 동일 수치가 나오면

 

종료로 바꾸면 되지않을까요?

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

회원로그인

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