요즘은 웹에서 게시판을 보여줄때도 정형화된 딱딱한 시간을 보여주기 보단 10분전, 1시간전 등과 같이 약간의 인간미(?) 넘치는 표현을 쓰는 경우가 종종 있는것 같다.
뭐 대충 생각해봐도 초간단 util이겠지만 if~ else 로만 구성하면되는...

그래도 나중에 귀찮을때를 대비해서 적어둔다.


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 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
            System.out.println(diffTime);
           
            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;
    }

참고로 이 소스는 스트러츠를 기반으로 한 것이었으나 이것저것 다 빼고 초간단 1차원적 단순모드로 정리해봤다.

출처 : http://dev-world.springnote.com/pages/5537571