Что я хотел бы сделать, это создать календарь и установить месяц и год на месяц, который вы хотите, день в 1, час, минуты и миллисекунды в ноль. Затем возьмите дату этого для вашего начального диапазона. Затем я прибавил бы месяц, а затем вычел бы миллисекунду. Возьмите дату этого для вашего конечного диапазона.
Calendar dateCal = Calendar.getInstance();
dateCal.set(Calendar.MONTH, month);
dateCal.set(Calendar.YEAR, year);
dateCal.set(Calendar.HOUR_OF_DAY, 0);
dateCal.set(Calendar.MINUTE, 0);
dateCal.set(Calendar.SECOND, 0);
dateCal.set(Calendar.MILLISECOND, 0);
Date startDate = dateCal.getTime();
dateCal.add(Calendar.MONTH, 1)
dateCal.add(Calendar.MILLISECOND, -1);
Date endDate = dateCal.getTime();