개발 As 공부/JAVA

[JAVA] 시간 차이 계산하기

민킹 2022. 3. 24. 20:44

 

코드를 짜다가 시간 차이를 계산해야 할 일이 생겼다. 직접 분, 초 등의 단위로 변환하여 계산 해 주어도 되지만 하단의 방법을 사용하면 휴먼에러를 피할 수 있다.

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로 바꾼 후 시간 차이 계산. 그리고 원하는 단위로 변경