몇 분 전 / 몇 시간 전 / 몇 일 전 등 시간 계산 함수
코드
function getTimeString(targetDate) {
if (!targetDate) {
return;
}
let now = new Date();
// const target = new Date(`${targetDate.replace(/ /, 'T')}`)
const milliSeconds = now - targetDate;
const seconds = milliSeconds / 1000;
if (seconds < 60) return `방금 전`;
const minutes = seconds / 60;
if (minutes < 60) return `${Math.floor(minutes)}분 전`;
const hours = minutes / 60;
if (hours < 24) return `${Math.floor(hours)}시간 전`;
const days = hours / 24;
if (days < 7) return `${Math.floor(days)}일 전`;
const weeks = days / 7;
if (weeks < 5) return `${Math.floor(weeks)}주 전`;
const months = days / 30;
if (months < 12) return `${Math.floor(months)}개월 전`;
const years = days / 365;
return `${Math.floor(years)}년 전`;
}
시간을 표시할 컴포넌트에 해당 함수를 실행시킨다. 매개변수로 createdAt, updatedAt 등 시간으로 표현된 string 을 전달한다.