프로그래밍/Java

자바 날짜 차이구하기

미냐님 2020. 3. 30. 22:35
728x90

자바 날짜 차이구하기

public void calculateDateBetweenAandB(){

    String dateA = "2019-08-27";
    String dateB = "2019-09-09";

    // String Type을 Date Type으로 캐스팅하면서 생기는 예외로 인해 여기서 
    예외처리 해주지 않으면 컴파일러에서 에러가 발생해서 컴파일을 할 수 없다.

    try{ 
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

        // date1, date2 두 날짜를 parse()를 통해 Date형으로 변환.
        Date FirstDate = format.parse(dateA);
        Date SecondDate = format.parse(dateB);

        // Date로 변환된 두 날짜를 계산한 뒤 그 리턴값으로 long type 변수를 초기화 하고 있다.
        // 연산결과 -950400000. long type 으로 return 된다.
        long calDate = FirstDate.getTime() - SecondDate.getTime(); 

        // Date.getTime() 은 해당날짜를 기준으로1970년 00:00:00 부터 몇 초가 흘렀는지를 반환해준다. 
        // 이제 24*60*60*1000(각 시간값에 따른 차이점) 을 나눠주면 일수가 나온다.
        long calDateDays = calDate / ( 24*60*60*1000); 

        calDateDays = Math.abs(calDateDays);//절대값으로 출력

        System.out.println("두 날짜의 날짜 차이: "+calDateDays);
    }
    catch(ParseException e){
            // 예외 처리
    }

}
728x90