가끔 코드를 짜다보면
시간과 시간사이의 차이를 구해야할때가 종종 있다.
어렵지는 않지만 할때마다 찾아보면서 만들어서 기록해둔다.
첫번째 방법
//요청시간 String
String reqDateStr = "202104100830";
//현재시간 Date
Date curDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYYMMddHHmm");
//요청시간을 Date로 parsing 후 time가져오기
Date reqDate = dateFormat.parse(reqDateStr);
long reqDateTime = reqDate.getTime();
//현재시간을 요청시간의 형태로 format 후 time 가져오기
curDate = dateFormat.parse(dateFormat.format(curDate));
long curDateTime = curDate.getTime();
//분으로 표현
long minute = (curDateTime - reqDateTime) / 60000;
System.out.println("요청시간 : " + reqDate);
System.out.println("현재시간 : " + curDate);
System.out.println(minute+"분 차이");
두번째 방법
SimpleDateFormat hhmmssSSS = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Calendar before = Calendar.getInstance();
System.out.println("BEFORE : " + hhmmssSSS.format(before.getTime()));
try{Thread.sleep(5000);}catch(Exception e) {}
Calendar after = Calendar.getInstance();
System.out.println("AFTER : " + hhmmssSSS.format(after.getTime()));
int diffHour = after.get(Calendar.HOUR_OF_DAY) - before.get(Calendar.HOUR_OF_DAY);
int diffMinute = after.get(Calendar.MINUTE) - before.get(Calendar.MINUTE);
int diffSecond = after.get(Calendar.SECOND) - before.get(Calendar.SECOND);
int diffMillisecond = after.get(Calendar.MILLISECOND) - before.get(Calendar.MILLISECOND);
System.out.println("시 : " + diffHour); System.out.println("분 : " + diffMinute);
System.out.println("초 : " + diffSecond); System.out.println("밀리세컨드 : " + diffMillisecond);
출처
반응형
'Java' 카테고리의 다른 글
GSON 과 JSON (0) | 2021.03.07 |
---|---|
자바 generic (0) | 2021.01.30 |
인터페이스와 추상클래스 설명 및 차이점 (0) | 2020.04.11 |