투케이2K

179. (java/자바) Date 사용해 날짜 형식 문자열을 파싱하고 두 날짜 빼기 수행 - 날짜 차이 일수 구하기 본문

Java

179. (java/자바) Date 사용해 날짜 형식 문자열을 파싱하고 두 날짜 빼기 수행 - 날짜 차이 일수 구하기

투케이2K 2021. 3. 22. 07:41

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

package ex;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MainActivity4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[Date 사용해 날짜 형식 문자열을 파싱하고 두 날짜 빼기 수행 - 날짜 차이 일수 구하기]");
		
		/*[설 명]
		 * 1. String Type을 Date Type으로 캐스팅하면서 생기는 예외로 인해 try catch 오류 처리를 해줍니다
		 * 2. Date로 변환된 두 날짜를 계산한 뒤 그 리턴값으로 long type 변수를 초기화합니다
		 * 3. 24*60*60*1000(각 시간값에 따른 차이점) 을 나눠주면 일수가 나옵니다
		 * */
		
		String date1 = "2016-09-21";
		String date2 = "2018-09-10";
	 
		 try{ 
			// String Type을 Date Type으로 캐스팅하면서 생기는 예외로 인해 try catch 오류 처리를 해줍니다
			SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
	        
			// date1, date2 두 날짜를 parse()를 통해 Date형으로 변환합니다
			Date FirstDate = format.parse(date1);
			Date SecondDate = format.parse(date2);
	        
			// Date로 변환된 두 날짜를 계산한 뒤 그 리턴값으로 long type 변수를 초기화합니다
			long calDate = FirstDate.getTime() - SecondDate.getTime(); 
	        
			// Date.getTime() 은 해당날짜를 기준으로 몇 초가 흘렀는지를 반환해줍니다 
			// 이제 24*60*60*1000(각 시간값에 따른 차이점) 을 나눠주면 일수가 나옵니다
			long calDateDays = calDate / (24*60*60*1000); 
	 
			calDateDays = Math.abs(calDateDays);
	        
			System.out.println("날짜 차이: "+calDateDays+" 일");
		}
		catch(ParseException e){
			e.printStackTrace();
		}

	}//메인 종료

}//클래스 종료

/* =========================== */

[결과 출력]

[Date 사용해 날짜 형식 문자열을 파싱하고 두 날짜 빼기 수행 - 날짜 차이 일수 구하기]

날짜 차이: 720 일

/* =========================== */

/* =========================== */

[요약 설명]

* 1. String Type을 Date Type으로 캐스팅하면서 생기는 예외로 인해 try catch 오류 처리를 해줍니다

* 2. Date로 변환된 두 날짜를 계산한 뒤 그 리턴값으로 long type 변수를 초기화합니다

* 3. 24*60*60*1000(각 시간값에 따른 차이점) 을 나눠주면 일수가 나옵니다

/* =========================== */

반응형
Comments