1. 返回当前月的天数
calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
2. 返回两个日期之间的每一天
import java.text.SimpleDateFormat; import java.util.Date; public class Demo { public static void main(String[] args) throws Exception { Date start = new SimpleDateFormat("yyy-MM-dd").parse("2008-08-29"); Date end = new SimpleDateFormat("yyy-MM-dd").parse("2008-09-02"); start = new Date(start.getTime() + 86400000); while(start.getTime() <= end.getTime()){ System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(start)); start = new Date(start.getTime() + 86400000); } } }
3. 返回某月的天数
public int getDaysInMonth(int year, int mon) { java.util.GregorianCalendar date = new java.util.GregorianCalendar( year, mon - 1, 1); return (date.getActualMaximum(Calendar.DATE)); }class test { public static void main(String[] args) { int i = getMaxDays(1997,5); } public int getMaxDays(int year,int month) { switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; break; case 4: case 6: case 9: case 11: return 30; break; default: if((year%4==0 && year%100!=0) || (year%400==0)) return 29; else return 28; break; } } }
