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