코드를 짜다가 시간 차이를 계산해야 할 일이 생겼다. 직접 분, 초 등의 단위로 변환하여 계산 해 주어도 되지만 하단의 방법을 사용하면 휴먼에러를 피할 수 있다.
public static void main(String[] args) throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm", Locale.KOREA);
Date date1 = formatter.parse("15:00");
Date date2 = formatter.parse("09:39");
// 시간 차이 계산
// getTime() : Date를 milliseconds로 반환
long difference = date1.getTime() - date2.getTime();
// Date를 '초'로 변환
long seconds = difference / 1000;
// Date를 '분'으로 변환
long minutes = seconds / 60;
System.out.println("difference: " + difference);
System.out.println("seconds: " + seconds);
System.out.println("minutes: " + minutes);
}
[SimpleDateFormat]
- 원하는 날짜/시간의 Format 지정 : "EEE MMM dd kk:mm:ss z yyyy" ---> "Thu Mar 24 20:37:00 JST 2022"
- 지역 설정 필요 ex) Locale.KOREA
[Date]
- getTime()을 사용해 milliseconds로 바꾼 후 시간 차이 계산. 그리고 원하는 단위로 변경
'개발 As 공부 > JAVA' 카테고리의 다른 글
BufferedReader VS Scanner 속도 차이 (0) | 2025.01.02 |
---|---|
JAVA의 자료구조 (JAVA Collection Framework) (0) | 2022.04.15 |
[JAVA] ConcurrentModificationException 해결 썰 (0) | 2022.03.24 |