날짜 검색을 위한 범위 탐색 기능 만들기
1. 참조
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
2. N년/월/주/일 전 탐색 코드
String sch_end_date = "2020-04-10"; // 기준(종료)일자
String sch_period = "3"; // 기준 수치 (년/월/주/일)
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date date = formatter.parse(sch_end_date);
String[] strDate = sch_end_date.split("-");
Calendar cal = Calendar.getInstance();
cal.set(Integer.parseInt(strDate[0]), Integer.parseInt(strDate[1]), Integer.parseInt(strDate[2]));
if(sch_date_type.equalsIgnoreCase("year")) { // N년전 탐색
cal.add(Calendar.YEAR, -(Integer.parseInt(sch_period)));
cal.add(Calendar.MONTH, -1);
date = cal.getTime();
}
else if(sch_date_type.equalsIgnoreCase("month")) { // N월전 탐색
cal.add(Calendar.MONTH, -(Integer.parseInt(sch_period) + 1));
date = cal.getTime();
}
else if(sch_date_type.equalsIgnoreCase("week")) { // N주전 탐색
date = new Date(date.getTime() + (1000*60*60*24*-(Integer.parseInt(sch_period) * 7)));
}
else if(sch_date_type.equalsIgnoreCase("day")) { // N일전 탐색
date = new Date(date.getTime() + (1000*60*60*24*-(Integer.parseInt(sch_period))));
}
String sch_start_date = formatter.format(date); // 탐색 결과 - 시작 일자
탐색된 시작일자와 종료일자로 쿼리에 검색 파라미터 투척~ ㅎㅎㅎ