티스토리 뷰
[Spring] Datetime 을 몇시간 전, 몇분 전, 몇초 전 으로 변경 하기
JoonPyo-Hong 2021. 7. 16. 09:48반응형
Spring, mybatis로 구현된 프로젝트에서 아래과 같이 datetime 형식으로 DB에 들어가 있는 값을
( ~ 일 전, ~ 시간 전 .. ) 과 같이 표기 해보자.
Time.java 생성
import java.util.Date;
public class Time {
private static class TIME_MAXIMUM {
public static final int SEC = 60;
public static final int MIN = 60;
public static final int HOUR = 24;
public static final int DAY = 30;
public static final int MONTH = 12;
}
public static String calculateTime(Date date) {
long curTime = System.currentTimeMillis();
long regTime = date.getTime();
long diffTime = (curTime - regTime) / 1000;
String msg = null;
if (diffTime < TIME_MAXIMUM.SEC) {
// sec
msg = diffTime + "초 전";
} else if ((diffTime /= TIME_MAXIMUM.SEC) < TIME_MAXIMUM.MIN) {
// min
msg = diffTime + "분 전";
} else if ((diffTime /= TIME_MAXIMUM.MIN) < TIME_MAXIMUM.HOUR) {
// hour
msg = (diffTime) + "시간 전";
} else if ((diffTime /= TIME_MAXIMUM.HOUR) < TIME_MAXIMUM.DAY) {
// day
msg = (diffTime) + "일 전";
} else if ((diffTime /= TIME_MAXIMUM.DAY) < TIME_MAXIMUM.MONTH) {
// day
msg = (diffTime) + "달 전";
} else {
msg = (diffTime) + "년 전";
}
return msg;
}
}
Dto/Vo 파일에서 Setter 부분을 수정해주면 된다. 위 Time.java를 호출해서 return 한다.
public class DTO {
private String date; // String으로 선언해 줄 것 - "1 일전", "12 시간 전" ..
public String getDate() {
return date;
}
public void setDate(Date date) {
this.dt = Time.calculateTime(date); // 기존의 getter, setter에서 변경된 부분
}
}
결과
반응형
'[Spring]' 카테고리의 다른 글
[Spring] Context initialization failed 오류 (6) | 2021.07.29 |
---|---|
[Spring] Spring Mybatis에서 null값이 반환 될 때 (0) | 2021.07.17 |
[Spring] Cannot map '***'Controller bean method 에러 해결 방법 (0) | 2021.07.16 |
댓글
반응형