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);
만약 등록한 날짜와 수정한 날짜가 다르다면 수정한날짜로 변경을 삼항연산자를 통하여 작성
반응형