Java中用什么方法来获取下一个月每一天的日期,求解啊 各位大神
【获取下一个月每一天的日期】
写个算法自己计算呗,,根据当前月份情况推算出下个月,,初的情况,,进而推算出。。。。。
public class Test_FullDayOfMonth {
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@Test
public void test_getMonthFullDay(){
System.out.println(getMonthFullDay(2016, 7,23));
}
/**
* 某一年某个月的每一天
*/
public static List<String> getMonthFullDay(int year , int month,int day){
List<String> fullDayList = new ArrayList<String>();
if(day <= 0 ) day = 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);// 设置为1号,当前日期既为本月第一天
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 static 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());
}
}
自己去看日历对象的源码,看熟了就会写了