SpringBoot

[Spring] #11. 게시판만들기 _ 댓글 작성시간 띄우기

도하루박 2023. 1. 17. 00:15
반응형
reply.js
//댓글 작성 시간
    function timeForToday(value) {
        const today = new Date();
        const timeValue = new Date(value);

        const betweenTime = Math.floor((today.getTime() - timeValue.getTime()) / 1000 / 60);
        if (betweenTime < 1) return '방금 전';
        if (betweenTime < 60) {
            return `${betweenTime}분전`;
        }

        const betweenTimeHour = Math.floor(betweenTime / 60);
        if (betweenTimeHour < 24) {
            return `${betweenTimeHour}시간전`;
        }

        const betweenTimeDay = Math.floor(betweenTime / 60 / 24);
        if (betweenTimeDay < 365) {
            return `${betweenTimeDay}일전`;
        }

        return `${Math.floor(betweenTimeDay / 365)}년전`;
    }

    return {add: add, getList: getList, read: read, remove: remove, modify: modify, timeForToday: timeForToday}
})();
function timeForToday(value) {
        const today = new Date();
        const timeValue = new Date(value);

today = 지금날짜     timeValue = 댓글을 작성한 날(타임리프에서 전달받은 매개변수를 전달받은 값)

 

const betweenTime = Math.floor((today.getTime() - timeValue.getTime()) / 1000 / 60);
if (betweenTime < 1) return '방금 전';
if (betweenTime < 60) {
    return `${betweenTime}분전`;
}

Math.floor() : 소수점 이하를 버림한다.
Math.ceil() : 소수점 이하를 올림한다.
Math.round() : 소수점 이하를 반올림한다.

1000(초) / 60(분) 으로 betweenTime에 담아서 조건문을 통해 1분 미만일 때에는 '방금 전' 으로 표시되도록 하고

그 외의 값은 변수 값을 리턴하도록 하였다.

 

const betweenTimeHour = Math.floor(betweenTime / 60);
if (betweenTimeHour < 24) {
    return `${betweenTimeHour}시간전`;
}

 

60분으로 나눠서 시간으로 표현

 

const betweenTimeDay = Math.floor(betweenTime / 60 / 24);
if (betweenTimeDay < 365) {
    return `${betweenTimeDay}일전`;
}

24시간으로 나눠서 일자로 표현

 

 return `${Math.floor(betweenTimeDay / 365)}년전`;
}

년단위 표현

 

text += replyService.timeForToday(reply.replyRegisterDate == reply.replyUpdateDate ? reply.replyRegisterDate : reply.replyUpdateDate);

만약 등록한 날짜와 수정한 날짜가 다르다면 수정한날짜로 변경을 삼항연산자를 통하여 작성

 

반응형