[Java] 자바 두 날짜 사이의 차이 계산하기
- Language/Java
- 2021. 5. 28.
자바에서 가끔 두 날짜의 간격 예를 들어 두 날짜의 일수나, 시간, 분, 초등을 구해야 할 때가 있습니다. 이럴 때는 대개 두 날짜를 getTime을 활용하여 밀리 세컨드로 변환한 후 두 날짜의 차이를 계산한 뒤 원하는 단위로 바꾸는 작업을 통해 계산합니다.
Date.getTime()
Date.getTime()은 Date를 밀리세컨드로 변환해서 long형 숫자 데이터로 반환합니다. 이를 이용하면 산술 연산으로 시간 차이를 쉽게 구할 수 있습니다.
1000밀리초는 1초로 계산되므로 getTime()으로 구한 값을 밀리초를 1000으로 나누면 초를 얻습니다. 이 초를 기본으로 하여 다른 시간 단위들도 계산할 수 있습니다.
초 : / 1000
분 : / (1000 * 60)
시 : / (1000 * 60 * 60)
두 날짜 사이의 간격 계산하기
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class main {
public static void main(String[] args) throws ParseException {
String date1 = "2021/01/02"; //날짜1
String date2 = "2021/01/01"; //날짜2
Date format1 = new SimpleDateFormat("yyyy/MM/dd").parse(date1);
Date format2 = new SimpleDateFormat("yyyy/MM/dd").parse(date2);
long diffSec = (format1.getTime() - format2.getTime()) / 1000; //초 차이
long diffMin = (format1.getTime() - format2.getTime()) / 60000; //분 차이
long diffHor = (format1.getTime() - format2.getTime()) / 3600000; //시 차이
long diffDays = diffSec / (24*60*60); //일자수 차이
System.out.println(diffSec + "초 차이");
System.out.println(diffMin + "분 차이");
System.out.println(diffHor + "시 차이");
System.out.println(diffDays + "일 차이");
}
}
'Language > Java' 카테고리의 다른 글
[Java] 자바 버전 변경하는 방법 ( JDK 8 -> JDK 17) (0) | 2022.03.02 |
---|---|
[Java] 자바(JDK) 버전 확인 방법 (cmd 명령어) (0) | 2022.03.01 |
[Java] 날짜 포맷의 유효성 체크하기(Validation Date) (0) | 2021.05.25 |
[Java] 자바 문자열(String)에 " 큰 따옴표 넣기 (0) | 2021.05.24 |