ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] 몇 초전 , 몇분전, 몇년전 구하기
    program_language 및 궁금한것/Java 2021. 4. 15. 20:17
    public class Dateutil {
    
    	public static void main(String[] args) {
        // 테스트를 위한 main메서드
    //		LocalDate localDate = LocalDate.now().minusDays(360);
    //		LocalDateTime localDate = LocalDateTime.now().minusHours(1);
    //		LocalDateTime localDate = LocalDateTime.now().minusSeconds(30);
    //		LocalDateTime localDate = LocalDateTime.now().minusMonths(50);
            LocalDateTime localDate = LocalDateTime.of(2019, 11, 11, 18, 02);
    		Date d = java.sql.Timestamp.valueOf(localDate);
    		System.out.println("날짜 >> " +d);
    		System.out.println(txtDate(d));
    	}
        
    	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;
    
    	/**
    	 * x초전, x분전, x시간 전m, x일 전, x개월전, x년전
    	 * @param 날짜
    	 * @return 분 표시
    	 *
    	 */
    	public static String txtDate(Date tempDate) {
    		long curTime = System.currentTimeMillis();
    
    		long regTime = tempDate.getTime();
    
    		long diffTime = (curTime - regTime) / 1000;
    
    		String msg = null;
    
           if (diffTime < SEC){
                msg = diffTime + "초전";
            } else if ((diffTime /= SEC) < MIN) {
    			msg = diffTime + "분 전";
    		} else if ((diffTime /= MIN) < HOUR) {
    			msg = (diffTime) + "시간 전";
    		} else if ((diffTime /= HOUR) < DAY) {
    			msg = (diffTime) + "일 전";
    		} else if ((diffTime /= DAY) < MONTH) {
    			msg = (diffTime) + "개월 전";
    		} else {
    			SimpleDateFormat sdf = new SimpleDateFormat( "yyyy");
    			String curYear = sdf.format(curTime);
    			String passYear = sdf.format(tempDate);
    			int diffYear = Integer.parseInt(curYear) - Integer.parseInt(passYear);
    			msg = diffYear + "년 전";
    		}
    
    		return msg;
    
    	}
    
    }

    자바로 몇분전, 몇시간전 등 게시물 등록시간부터 현재 시간까지를 나타낼 수 있는 공통 클래스를 만들었다.

    블로그를 참고하였으나 몇년전의 코드만 필요한 형태로 수정을 했다.

    2019년의 게시글은 2021년 현재 시점에서 2년 전으로 표기되게 말이다.

     

    코드를 가져다 그대로 사용하는 것을 넘어 수정해서 쓸수 있을만큼 성장했다는 생각이 들어 괜히 뿌듯한 날이다.

     

    참고 블로그

    반응형

    댓글

Designed by Tistory.