몇분전, 몇시간전, 몇일전, 몇달전...을 표현하는 util
Posted 2011. 3. 3. 12:32요즘은 웹에서 게시판을 보여줄때도 정형화된 딱딱한 시간을 보여주기 보단 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
뭐 대충 생각해봐도 초간단 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
'개발노트 > JAVA & JSP' 카테고리의 다른 글
Jacson 을 이용한 복합적인 Json 문자열을 Java Object로 변환하기 (1) | 2012.02.20 |
---|---|
복합적인 Collection 형태의 Json 문자열을 Gson을 이용하여 java 객체로 변환하기 (0) | 2012.02.19 |
디자인 패턴을 포함한 무료강좌 (0) | 2010.05.07 |
나만의 어노테이션(커스텀 어노테이션) 만들기 (0) | 2010.04.30 |
java 의 annotation에 대해서 알아보자 (0) | 2010.04.30 |
- Filed under : 개발노트/JAVA & JSP