본문 바로가기

JAVA

Java) 몇분, 몇시간, 몇일 지났는지 알아내기

package com.sml.util;

import java.util.Date;

public class TimeMaximum {

    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 static String calculateTime(Date date)
    {
        long curTime = System.currentTimeMillis();
        long regTime = date.getTime();
        long diffTime = (curTime - regTime) / 1000;

        String msg = null;

        if (diffTime < TimeMaximum.SEC)
        {
            // sec
            msg = diffTime + "초전";
        }
        else if ((diffTime /= TimeMaximum.SEC) < TimeMaximum.MIN)
        {
            // min
            System.out.println(diffTime);

            msg = diffTime + "분전";
        }
        else if ((diffTime /= TimeMaximum.MIN) < TimeMaximum.HOUR)
        {
            // hour
            msg = (diffTime ) + "시간전";
        }
        else if ((diffTime /= TimeMaximum.HOUR) < TimeMaximum.DAY)
        {
            // day
            msg = (diffTime ) + "일전";
        }
        else if ((diffTime /= TimeMaximum.DAY) < TimeMaximum.MONTH)
        {
            // day
            msg = (diffTime ) + "달전";
        }
        else
        {
            msg = (diffTime) + "년전";
        }

        return msg;
    }
}

 

사용법

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();

try {
  date = sdf.parse("2021-11-08 12:33:33"); // 예시1
  //date = sdf.parse("2021-11-05 12:34:56");  예시2
  //date = sdf.parse("2020-05-08 12:11:24");  예시3
  
} catch (Exception e) {
	e.printStackTrace();
}

String strR_dt = TimeMaximum.calculateTime(date);
System.out.println("경과시간 : " + strR_dt);

상항에 맞게 strR_dt값을 vo에 넣어주던가 map에 담아서 적절하게 사용하면 됨

'JAVA' 카테고리의 다른 글

매월 n주차 요일날짜 및 매주 특정요일 날짜 가져오기  (0) 2023.02.01