른록노트
[Java] 날짜비교하는 방법, 날짜 더하는방법, 일 수 차이 구하기 본문
============================================= 비교
SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd");
Date day1 = null;
Date day2 = null;
try {
day1 = format.parse("2012-12-16");
day2 = format.parse("2012-12-17");
}catch(ParseException e){
e.prinStackTrace();
}
int compare = day1.compareTo(day2);
if(compare > 0)
{
System.out.println("day1 > day2");
=============================================
============================================= 더하기
Date date = new Date();
System.out.println(date);
// 포맷변경 ( 년월일 시분초)
SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Java 시간 더하기
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// 10분 더하기
cal.add(Calendar.MINUTE, 10);
=============================================
============================================= 일 수 차이 구하기
public void calDateBetweenAandB()
{
String date1 = "2016-09-21";
String date2 = "2016-09-10";
try{ // String Type을 Date Type으로 캐스팅하면서 생기는 예외로 인해 여기서 예외처리 해주지 않으면 컴파일러에서 에러가 발생해서 컴파일을 할 수 없다.
SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
// date1, date2 두 날짜를 parse()를 통해 Date형으로 변환.
Date FirstDate = format.parse(date1);
Date SecondDate = format.parse(date2);
// 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)
{
// 예외 처리
}
}
참고사이트
http://computersj.tistory.com/entry/JAVA-%EB%82%A0%EC%A7%9C-%EB%B9%84%EA%B5%90-date-compare - 날짜 비교
http://d4emon.tistory.com/60 - 날짜 더하기
http://highcode.tistory.com/5 - 일 수 차이 구하기4