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