[java] 해당 월에 각 주의 시작일과 끝일 구하기
//해당 년 월을 받아서
//그 주의 일요일과 토요일을 구하는 로직이다
//첫번째 주의 날짜와 마지막 주 날짜는 따로 비교 해서 첫날,마지막날로 바꾼다
public static void getWeekInMonths(String year, String month) {
Calendar cal = Calendar.getInstance();
int intYear=Integer.parseInt(year);
int intMonth=Integer.parseInt(month);
cal.set(Calendar.YEAR, intYear);
cal.set(Calendar.MONTH, intMonth - 1);
for (int week = 1; week < cal.getMaximum(Calendar.WEEK_OF_MONTH); week++) {
cal.set(Calendar.WEEK_OF_MONTH, week);
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
int startDay = cal.get(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
int endDay = cal.get(Calendar.DAY_OF_MONTH);
if (week == 1 && startDay >= 7) {
startDay = 1;
}
if (week == cal.getMaximum(Calendar.WEEK_OF_MONTH) - 1 && endDay <= 7) {
endDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
}
System.out.println(week + "주 : " + startDay + " ~ " + endDay);
}
}