给定月份查询该月份最后一天 ,和加一个月

getMonthDays("2013-06-17");

// 获得给定的月份最后一天
    private int getMonthDays(String date) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, Integer.parseInt(date.substring(0, 4)));
        /**
         * 这个时候由于2月没有30日,而今天是30日,所以c已经自动跳转到了3月了, 所以你要在set
         * Month之前调用一次c.set(Calendar.DATE, 1); 才可以保证不出现这个问题才可以保证不出现这个问题
         */
        calendar.set(Calendar.DATE, 1);
        calendar.set(Calendar.MONTH, Integer.parseInt(date.substring(5, 7)) - 1);
        int maxDay = calendar.getActualMaximum(Calendar.DATE);
        System.out.println(maxDay);
        return maxDay;
    }

 

//加一个月

addDay("2013-06-01",1);
public String addDay(String s, int n) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Calendar cd = Calendar.getInstance();
cd.setTime(sdf.parse(s));
// cd.add(Calendar.DATE, n);//增加一天
cd.add(Calendar.MONTH, n);// 增加一个月

return sdf.format(cd.getTime());

} catch (Exception e) {
return null;
}
}

posted @ 2013-06-18 10:22  xxdc  阅读(302)  评论(0)    收藏  举报