http://suite.tistory.com 2018.01 fs
* 시간 등록일 표시를 줄여서 표시
ex) 1년전 , 3개월전 1주전 , 2일전, 5분전 , 1분전, 1초전
joda 라이브러리 이용 import org.joda.time.Interval;import org.joda.time.Period;
public String getSummaryPeriod(Date date) {
String resultPeriod = "";
Interval interval = new Interval(date.getTime(), new Date().getTime());
Period period = interval.toPeriod();
if (period.getYears() > 0) {
resultPeriod = period.getYears() + "년 전";
} else if (period.getMonths() > 0) {
resultPeriod = period.getMonths() + "개월 전";
} else if (period.getWeeks() > 0) {
resultPeriod = period.getWeeks() + "주 전";
} else if (period.getHours() > 0) {
resultPeriod = period.getDays() + "일 전";
} else if (period.getWeeks() > 0) {;
resultPeriod = period.getHours() + "시간 전";
} else if (period.getMinutes() > 0) {
resultPeriod = period.getMinutes() + "분 전";
} else if (period.getSeconds() > 0) {
resultPeriod = period.getSeconds() + "초 전";
}
return resultPeriod;
}
* 읽은 수 카운트 줄여서 표시
ex) 1천 , 1.2만 , 1.5억 대략적인 수치로 줄임
참고소스 https://stackoverflow.com/questions/4753251/how-to-go-about-formatting-1200-to-1-2k-in-java
public String getSummaryCount(int count) throws IOException {
if (count < 1000) {
return "" + count;
}
int div = 4;
if (count < 10000) {
div = 3;
}
double value = count;
String suffix = "천만억";
String formattedNumber = "";
NumberFormat formatter = new DecimalFormat("#,###.#");
int power = (int) StrictMath.log10(value);
value = value / (Math.pow(10, (power / div) * div));
formattedNumber = formatter.format(value);
formattedNumber = formattedNumber + suffix.charAt(power / 4);
return formattedNumber;
}