유튜브를 보면 글 작성 기준으로 방금 전, 몇분 전, 몇시간 전, 몇일 전, 몇주 전, 몇개월 전, 몇 년전 이런 식으로 시간을 표기해줘요.
저 역시도 왠만하면 글 작성 날짜를 보여주는 것보다 지나간 시간을 계산해서 표기해주는 것이 좋더라구요.
물론, 프로젝트에 따라 다르겠지만요!
그럼 자바스크립트에서 글 작성 날짜를 받아서 해당 글이 얼만큼 시간이 흘렀는지 표기해주는 함수를 만들어볼게요.
function displayedAt(createdAt) {
const milliSeconds = new Date() - createdAt
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)}년 전`
}
기능 요구사항에 맞게 잘 개조하셔서 사용하시면 좋을 것 같습니다.
'Frontend > JavaScript' 카테고리의 다른 글
JavaScript n자리 랜덤숫자 (초간단) (0) | 2021.01.27 |
---|---|
JavaScript 숫자 가격 표시 (천단위 콤마) (2) | 2020.05.04 |