자바 날짜(시간) 비교


자바에서 날짜(시간)를 비교하는 방법
3가지 정도 소개해 보겠습니다.

1. after, before 사용 => ex) date1.after(date2)
2. compareTo 사용 => ex) date1.compareTo(date2)
3. getTime 사용 => ex) date1.getTime() < date2.getTime()

-----------------------------------------------------------------------------------------

1은 이전 게시물에 있으니 참고 바랍니다.]


2. compareTo()
- java.util.Date 클래스에 속해 있음
- int 형
- 파라미터 Date 형 필요
- date1.compareTo(date2) => date1이 date2보다 이후날짜이면 1을 반환, 그 반대의 경우 -1을 반환(date1, date2는 형      식(타입)이 같아야 한다.)
ex)

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //cf. HH는 24시간, hh는 12시간 
Date start = null;
Date end = null;
Date now = new Date();

Date today = format.parse(format.format(now));
start = format.parse("2018-04-01 13:30:00");
end = format.parse("2018-06-01 17:00:00");

int compare = today.comparTo(start); // 
int compare2 = today.comparteTo(end); //

if(compare > 0){

}if else(compare >= 0 && compare2 < 0){

}else{

}


3. getTime()
- java.util.Date 클래스에 속해 있음
- long 형
- 부등호를 사용하여 조건문에서 비교 가능
ex)

String start = "20180524100500";
String end = "20180524100600";

SimpleDateFormat format = new SimpleDateformat("yyyyMMddHHmmss");

Date now = new Date();
Date start_t = format.parse(start);
Date end_t = format.parse(end);

if(now.getTime() < start_t.getTime()){

}else if(start_t.getTime() <= now.getTime() && now.getTime() < end_t.getTime()){

}else{

}

댓글