JS

JS- (yyyyMMdd) 구하는 법 / Dday 계산 / 타임어택 만들기

곰탁 2021. 12. 28. 14:55

 

var date = new Date();
var dateNow = date.getFullYear()+("0"+(1+date.getMonth())).slice(-2)+("0"+date.getDate()).slice(-2);

이 방법은 불편하다.

 

var today = new Date();
today.setHours(today.getHours() + 9);
today = today.toISOString().replace('T','').replaceAll('-','').replaceAll(':','').substring(0, 14);

한국 시차 9시간을 더해준 다음 Date.toISOString()로 UTC("yyyy-mm-ddThh:MM:ss.zzzZ") 출력시키고, 
나머지 불필요한 것들을 제거 해준다.

 


D-day 계산

 

var dDay = new Date(endDay.substr(0,4), endDay.substr(4,2)-1,endDay.substr(6,2), endDay.substr(8,2), endDay.substr(10,2), endDay.substr(12,2));    // D-day를 셋팅한다.
var toDay = new Date(); // 현재(오늘) 날짜를 받아온다.

var gap = dDay.getTime() - toDay.getTime(); // D-day에서 현재날짜와 차이를 구한다.

new Date ( 년, 월(-1 필수!!!!!!!!!!!!!!!!!!!!!), 일)

월에 0이 1월로 출력됨!!

var result = Math.floor(gap / (1000 * 60 * 60 * 24))

 

실시간 D day 만들기 결과물

 

function getDday(){
    var endDay = $('.limit').attr('val');
    var clock = document.querySelector('.limit');
    
    // D-day를 셋팅한다. new Date(2021,01,01);
    var dDay = new Date(endDay.substr(0,4), endDay.substr(4,2)-1,endDay.substr(6,2), endDay.substr(8,2), endDay.substr(10,2), endDay.substr(12,2));    
    // 오늘 날짜를 받아온다.
    var toDay = new Date(); 
    
    // 현재 날짜에서 D-day 차이
    var gap = dDay.getTime() - toDay.getTime();    

    //밀리초 제거
    var result = Math.floor(gap / 1000);
    
    //시간 분 초로 구분
    var hour = parseInt(result/3600);
    var minutes = parseInt((result%3600)/60);
    var seconds = result%60;
    
    //앞자리 00붙여서 출력
    clock.innerHTML = ('00'+hour).slice(-2)+ ":" +('00'+minutes).slice(-2)+ ":" +('00'+seconds).slice(-2);
}
function init(){
    setInterval(getDday, 1000);
}
init();

each를 통해 여러개의 타임어택(줄어드는 시간 표현)

function getDday(){
    $('.limit').each(function(i, obj){
        var endDay = $(obj).attr('val');
        $(obj).attr('id',"clock"+i)
        var clock = document.querySelector('#clock'+i);

        // D-day를 셋팅한다. new Date(2021,01,01);
        var dDay = new Date(endDay.substr(0,4), endDay.substr(4,2),endDay.substr(6,2), endDay.substr(8,2), endDay.substr(10,2), endDay.substr(12,2));
        // 오늘 날짜를 받아온다.
        var toDay = new Date();

        // 현재 날짜에서 D-day 차이
        var gap = dDay.getTime() - toDay.getTime();

        //밀리초 제거
        var result = Math.floor(gap / 1000);

        //시간 분 초로 구분
        var hour = parseInt(result/3600);
        var minutes = parseInt((result%3600)/60);
        var seconds = result%60;
        
        //앞자리 00붙여서 출력
        clock.innerHTML = ('00'+hour).slice(-2)+ ":" +('00'+minutes).slice(-2)+ ":" +('00'+seconds).slice(-2);
    })
}
function init(){
    setInterval(getDday, 1000);
}
init();