2016년 7월 26일 화요일

[java] x초전.., x분전.., x시간전.. 표시하기.

오랫동안의 서버 프로그래밍이 아닌 안드로이드 개발을 시작하면서 만든 함수 입니다.




위와 같은 기능을 만들어 보고 싶었습니다.
생각보다 쉬운 코드라서 별다른 설명이 필요 없을 듯 합니다.
안드로이드 개발을 하며 안들었지만 사용된 함수가 SimpleDateFormat 이기 때문에 java 개발을 하실 때 그냥 사용하시면 되겠습니다.

코드는 여기 에서 보셔도 됩니다.

코드


public class CommonUtil {

    public String beforeTime(Date date){

        Calendar c = Calendar.getInstance();

        long now = c.getTimeInMillis();
        long dateM = date.getTime();

        long gap = now - dateM;

        String ret = "";

//        초       분   시
//        1000    60  60
        gap = (long)(gap/1000);
        long hour = gap/3600;
        gap = gap%3600;
        long min = gap/60;
        long sec = gap%60;

        if(hour > 24){
            ret = new SimpleDateFormat("HH:mm").format(date);
        }
        else if(hour > 0){
            ret = hour+"시간 전";
        }
        else if(min > 0){
            ret = min+"분 전";
        }
        else if(sec > 0){
            ret = sec+"초 전";
        }
        else{
            ret = new SimpleDateFormat("HH:mm").format(date);
        }
        return ret;

    }
}


결과값으로는
x초 전
x분 전
x시간 전
이런식으로 나오게 되고
이외에는 시:분으로 나오게 되는데.
https://developer.android.com/reference/java/text/SimpleDateFormat.html
을 참고하셔서 수정하시면될듯합니다.

댓글 없음:

댓글 쓰기