Java

JAVA 시간 차이 계산하기

최데브 2021. 4. 10. 08:19

가끔 코드를 짜다보면 

시간과 시간사이의 차이를 구해야할때가 종종 있다.

 

어렵지는 않지만 할때마다 찾아보면서 만들어서 기록해둔다.

 

첫번째 방법

 

//요청시간 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