2 weidongshen123 weidongshen123 于 2017.09.14 18:55 提问

java怎么获取下个月的每一天的日期

Java中用什么方法来获取下一个月每一天的日期,求解啊 各位大神

3个回答

xszhangmin88
xszhangmin88   2017.09.14 22:36

自己去看日历对象的源码,看熟了就会写了

Small_Mouse0
Small_Mouse0   Ds   Rxr 2017.09.15 08:48

【获取下一个月每一天的日期】

写个算法自己计算呗,,根据当前月份情况推算出下个月,,初的情况,,进而推算出。。。。。

zy841958835
zy841958835   Ds   Rxr 2017.09.15 09:00

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());
}

}

Csdn user default icon
上传中...
上传图片
插入图片