내부 코* 프로젝트 하면서 엔진 주기를 체크하는데 날짜로 들어오면 직관적이지 않아 찾아서서 구현함.
public static String calculateTime(String dateString) throws ParseException { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = format.parse(dateString); long curTime = System.currentTimeMillis(); long regTime = date.getTime(); long diffTime = (curTime - regTime) / 1000; // System.out.println("dateString : "+dateString); // System.out.println("date.getTime : "+date.getTime()); // System.out.println("curTime : "+curTime); 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; }
블로그 내용에는 Date 타입을 바로 받아서 처리함.
rwiki에 적은 소스는 String 타입을 받아와 넘기는 것이라 두개 아무거나 쓰면 될거 같음.