[자바스크립트/Date/날짜] 1일전, 1주일전, 1달전, 1년전 날짜 계산기
2021. 4. 6. 22:05ㆍFront-end/Javascript
728x90
반응형
if(commentTime){
commentTime.forEach((element) => {
const commentDate = new Date(Date.parse(element.id));
const currentDate = new Date();
//
const diffMSec = currentDate.getTime() - commentDate.getTime(); //
const diffSec = diffMSec / 1000; // 몇 초 차이
const diffMin = diffMSec / 1000 / 60; // 몇 분 차이
const diffHour = diffMSec / 1000 / 60 / 60; // 몇 시간 차이
const diffDay = diffMSec / 1000 / 60 / 60 / 24; // 몇 일 차이
const diffMonth = diffDay / 30 ; // 몇 개월 차이
const diffYear = diffMonth / 12; // 몇 년 차이
console.log(diffDay);
if(Math.floor(diffDay) === 0){
if(Math.floor(diffMin) < 60){
if(Math.floor(diffMin) === 0){
dateString = `방금`;
}else{
dateString = `${Math.floor(diffMin)}분 전`;
}
}else{
dateString = `${Math.floor(diffHour)}시간 전`;
}
}else{
if(Math.floor(diffDay) < 7){
dateString = `${Math.floor(diffDay)}일 전`;
}else if(Math.floor(diffDay) >= 7 && Math.floor(diffDay) < 14){
dateString = `1주일 전`;
}else if(Math.floor(diffDay) >= 14 && Math.floor(diffDay) < 21){
dateString = `2주일 전`;
}else if(Math.floor(diffDay) >= 21 && Math.floor(diffDay) < 28){
dateString = `3주일 전`;
}else if(Math.floor(diffDay) >= 28 && Math.floor(diffDay) < 31){
dateString = `1달 전`;
}else{
if(Math.floor(diffMonth) < 12){
dateString = `${Math.floor(diffMonth)}달 전`;
}else{
dateString = `${Math.floor(diffYear)}년 전`;
}
}
}
element.innerHTML = dateString;
});
}
728x90
반응형
'Front-end > Javascript' 카테고리의 다른 글
[Javascript] primitive 변수와 object 변수의 차이점(자바스크립트/javascript/js) (0) | 2021.04.29 |
---|---|
event.target VS event.currentTarget (0) | 2021.03.29 |
클래스(Class) (0) | 2021.03.23 |
프로토타입(Prototype) (0) | 2021.03.23 |
[Ajax] 리팩토링 함수화 (0) | 2021.03.21 |