중고마켓 리팩토링을 하면서 시간표시에 대한 것을 어떻게 표현할 지 찾아보던 중 좋은 예시가 있어서 가져옴
export const 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)}년전`;
};
출처: https://kdinner.tistory.com/68
이런식으로 구현되었다.