본문 바로가기
공부/프로그래밍

[java] Localdatetime 을 몇분 전, 몇초 전 으로 변경하기

by demonic_ 2021. 5. 26.
반응형

코드는 간단하다.

...
    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));
    }
}

 

실행해 보면 다음처럼 확인가능

 

 

끝.

반응형

댓글