[자바스크립트/Date/날짜] 1일전, 1주일전, 1달전, 1년전 날짜 계산기

2021. 4. 6. 22:05Front-end/Javascript

728x90
반응형
if(commentTime){
    commentTime.forEach((element) => {
        const commentDate = new Date(Date.parse(element.id));
        const currentDate = new Date();
        //
        const diffMSec = currentDate.getTime() - commentDate.getTime(); //
        const diffSec = diffMSec / 1000; // 몇 초 차이
        const diffMin = diffMSec / 1000 / 60; // 몇 분 차이
        const diffHour = diffMSec / 1000 / 60 / 60; // 몇 시간 차이
        const diffDay = diffMSec / 1000 / 60 / 60 / 24; // 몇 일 차이
        const diffMonth = diffDay / 30 ; // 몇 개월 차이
        const diffYear = diffMonth / 12; // 몇 년 차이
        console.log(diffDay);

        if(Math.floor(diffDay) === 0){
            if(Math.floor(diffMin) < 60){
                if(Math.floor(diffMin) === 0){
                    dateString = `방금`;
                }else{
                    dateString = `${Math.floor(diffMin)}분 전`;
                }
            }else{
                dateString = `${Math.floor(diffHour)}시간 전`;
            }
        }else{
            if(Math.floor(diffDay) < 7){
                dateString = `${Math.floor(diffDay)}일 전`;
            }else if(Math.floor(diffDay) >= 7 && Math.floor(diffDay) < 14){
                dateString = `1주일 전`;
            }else if(Math.floor(diffDay) >= 14 && Math.floor(diffDay) < 21){
                dateString = `2주일 전`;
            }else if(Math.floor(diffDay) >= 21 && Math.floor(diffDay) < 28){
                dateString = `3주일 전`;
            }else if(Math.floor(diffDay) >= 28 && Math.floor(diffDay) < 31){
                dateString = `1달 전`;
            }else{
                if(Math.floor(diffMonth) < 12){
                    dateString = `${Math.floor(diffMonth)}달 전`;
                }else{
                    dateString = `${Math.floor(diffYear)}년 전`;
                }
            }
        }
        element.innerHTML = dateString;
    });
}
728x90
반응형