版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhou_fan_xi/article/details/88667793
public List<String> getMonthDay(String date) {
List<String> list = getMonthFullDay(date);
List<String> listDay = new ArrayList<>();
for (String date1 : list) {
listDay.add(date1.substring(8, 10));
}
return listDay;
}
public List<String> getMonthFullDay(String date) {
List<String> fullDayList = new ArrayList<String>();
int year = Integer.parseInt(date.substring(0, 4));
int month = Integer.parseInt(date.substring(5, 7));
int day = 1;// 所有月份从1号开始
Calendar cal = Calendar.getInstance();// 获得当前日期对象
cal.clear();// 清除信息
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);// 1月从0开始
cal.set(Calendar.DAY_OF_MONTH, day);
int count = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int j = 0; j <= (count - 1); ) {
if (sdf.format(cal.getTime()).equals(getLastDay(year, month)))
break;
cal.add(Calendar.DAY_OF_MONTH, j == 0 ? +0 : +1);
j++;
fullDayList.add(sdf.format(cal.getTime()));
}
return fullDayList;
}
public String getLastDay(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH, 0);
return sdf.format(cal.getTime());
}