반응형
코드는 간단하다.
...
public static String convertLocaldatetimeToTime(LocalDateTime localDateTime) {
LocalDateTime now = LocalDateTime.now();
long diffTime = localDateTime.until(now, ChronoUnit.SECONDS); // now보다 이후면 +, 전이면 -
String msg = null;
if (diffTime < SEC){
return diffTime + "초전";
}
diffTime = diffTime / SEC;
if (diffTime < MIN) {
return diffTime + "분 전";
}
diffTime = diffTime / MIN;
if (diffTime < HOUR) {
return diffTime + "시간 전";
}
diffTime = diffTime / HOUR;
if (diffTime < DAY) {
return diffTime + "일 전";
}
diffTime = diffTime / DAY;
if (diffTime < MONTH) {
return diffTime + "개월 전";
}
diffTime = diffTime / MONTH;
return diffTime + "년 전";
}
...
그럼 위 기능이 잘 작동하는지 테스트를 해보자.
class DateTimeUtilTest {
@Test
void 시간테스트() {
// 50초 전
LocalDateTime bf = LocalDateTime.now().minusSeconds(50);
System.out.println(DateUtil.convertLocaldatetimeToTime(bf));
// 10분 전
bf = LocalDateTime.now().minusMinutes(10);
System.out.println(DateUtil.convertLocaldatetimeToTime(bf));
// 2시간 전
bf = LocalDateTime.now().minusHours(2);
System.out.println(DateUtil.convertLocaldatetimeToTime(bf));
// 2일 전
bf = LocalDateTime.now().minusDays(2);
System.out.println(DateUtil.convertLocaldatetimeToTime(bf));
// 2개월 전
bf = LocalDateTime.now().minusMonths(2);
System.out.println(DateUtil.convertLocaldatetimeToTime(bf));
// 1년 전
bf = LocalDateTime.now().minusDays(365).minusMinutes(5);
System.out.println(DateUtil.convertLocaldatetimeToTime(bf));
// 2년 전
bf = LocalDateTime.now().minusDays(732).minusMinutes(5);
System.out.println(DateUtil.convertLocaldatetimeToTime(bf));
}
}
실행해 보면 다음처럼 확인가능
끝.
반응형
'공부 > 프로그래밍' 카테고리의 다른 글
[spring cloud] eureka 설정 중 에러(Network level connection to peer localhost; retrying after delay) (0) | 2021.06.10 |
---|---|
[spring, mssql, sqlserver] 접속에러 (TLS10) (2) | 2021.05.28 |
[springboot] @EnableResourceServer 사용 중 Using generated security password 가 보일 때 (0) | 2021.05.12 |
[aws] MediaConvert + lambda 를 이용해 원하는 화질로 파일 분리하기 (0) | 2021.05.10 |
[react] text 내 http에 a 태그로 변환, 링크 삽입 (0) | 2021.05.07 |
댓글