728x90
반응형
//현재시간
var now = new Date();
//기준시간
var writeDay = new Date(time);
//현재 시간과 기준시간의 차이를 getTime을 통해 구한다
var difference = now.getTime() - writeDay.getTime();
//초로 바꿔준다
difference = Math.trunc(difference / 1000);
기준점을 만든다
// 초
const seconds = 1;
// 분
const minute = seconds * 60;
// 시
const hour = minute * 60;
// 일
const day = hour * 24;
// 달
const mon = day * 30;
// 년
const year = mon * 12;
difference 를 seconds로 나누면 초가되고 minute로 나누면 분이되고 hour 로 나누면 시가 된다
이를 이용해서
if(difference < seconds ){
ResultTime = "바로" // 1초보다 작으면 바로 전
}else if(difference < minute){
ResultTime = Math.trunc(difference / seconds) + '초 ';
//분보다 작으면 몇초전인지
}else if(difference < hour){
ResultTime = Math.trunc(difference / minute) + '분 ';
//시보다 작으면 몇분전인지
}else if(difference < day){
ResultTime = Math.trunc(difference / hour) + '시 ';
//일보다 작으면 몇시간전인지
}else if(difference < mon){
ResultTime = Math.trunc(difference / day) + '일 ';
//달보다 작으면 몇일 전인지
}else if(difference < year){
ResultTime = Math.trunc(difference / mon) + '달 ';
//년보다 작으면 몇달전인지
}else{
ResultTime = Math.trunc(difference / year) + '년 ';
}
이때 Math.trunc() 이란?
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
이걸 이용해서 전체 몇년 몇달 몇일 몇시간 몇분 몇초전인지 구한다
resultYear = Math.trunc(difference / year);
//몇년전인지 나누어본다
if(resultYear > 0){ // 0보다크면 년도를 구함
ResultTime += resultYear+'년 ';
difference= difference - (resultYear * year);
}
resultMon = Math.trunc(difference / mon);
if(resultMon > 0){ // 몇달전인지
ResultTime += resultMon+'월 ';
difference= difference - (resultMon * mon);
}
resultDay = Math.trunc(difference / day);
if(resultDay > 0){ //몇일전인지
ResultTime += resultDay+'일 ';
difference = difference - (resultDay * day);
}
resultHour = Math.trunc(difference / hour);
if(resultHour > 0){ //몇시간전인지
ResultTime += resultHour+'시 ';
difference = difference - (resultHour * hour);
}
resultMin = Math.trunc(difference / minute);
if(resultMin > 0){ //몇분전인지
ResultTime += resultMin+'분 ';
difference = difference - (resultMin * minute);
}
resultSec = Math.trunc(difference / seconds);
if(resultSec > 0){ // 몇초 전인지
ResultTime += resultSec+'초 ';
difference = difference - (resultSec * seconds );
}
728x90
반응형
'javascript > javascript' 카테고리의 다른 글
체크박스 input[type="checkbox"] 전체 체크 구현 (402) | 2022.09.05 |
---|---|
마우스 따라 움직이는 효과 (975) | 2022.09.01 |
여러개를 제어할때 쓰는 querySelectorAll (236) | 2022.08.31 |
select 플러그인 (421) | 2022.08.30 |
javascript select 선택된 옵션 값 가져오기 (277) | 2022.08.29 |
댓글