본문 바로가기
Language/Java

자바 Calendar를 이용해 쿼리 between 처럼 사용방법

by wakestand 2021. 7. 5.
반응형

자바에서 로직을 짜다가

오라클, MySQL 같은 DB의

BETWEEN 컬럼명 '시간' AND '시간'

이런 느낌의 코드를 짜고 싶었는데

 

Calendar의 after / before 메소드를 사용하면

쿼리의 between 처럼 사용할 수 있더라

 

먼저 Calendar 객체 두개를 만든 뒤 

set을 통해 시간 범위를 잡아준다

 

다음으로 현재 시간을 Calendar 안에 넣어준 뒤에

현재시간.after(조건1) && 현재시간.before(조건2)

이렇게 사용해주면 DB의 between과 동일하게 사용할 수 있다

 

예제에 사용한 코드는 아래 코드를 참고해주면 된다

 

	public static void main(String[] args) {
		Calendar time1 = Calendar.getInstance();
		time1.set(Calendar.HOUR, 12);
		time1.set(Calendar.MINUTE, 0);
		
		Calendar time2 = Calendar.getInstance();
		time2.set(Calendar.HOUR, 20);
		time2.set(Calendar.MINUTE, 0);
		
		Calendar now = Calendar.getInstance();
		now.set(Calendar.HOUR, 15);
		
		if(now.after(time1) && now.before(time2)) {
			System.out.println("12시 ~ 20시 사이");
		} else {
			System.out.println("12시 ~ 20시 사이가 아님");
		}
	}
반응형

댓글