草草的写了个,你看下.import java.util.Date; class Test{ public static void main(String[] args){ String day=new Integer(Test.getLastDay(2007,4)).toString(); System.out.println(day); } public static int getLastDay(int year,int month){ int new_year=year; int new_month=month++; if(month>12){ new_month-=12; new_year++; } Date new_date=new Date(new_year,new_month,1); return (new Date(new_date.getTime()-1000*60*60*24)).getDate(); } }
楼上辛苦了,Date的多数方法好像已过时,推荐使用Calendar类,楼主请参考Java API Doc
[code=Java] import java.util.Calendar;public class TestC {
public void test() { Calendar cd = Calendar.getInstance(); cd.setLenient(!cd.isLenient()); int year = cd.get(Calendar.YEAR);//使用当前日期或随意设置年份. for (int i = 1; i < 12; i++) { cd.set(year, i, 1); cd.add(Calendar.DATE, -1); System.out.println(year+"第" + (i) + "个月最后一天为: " + cd.get(Calendar.DATE) + "号"); } System.out.println(year+"第12个月的最后一天为31号");//12月份单独处理. } public static void main(String[] args) { TestC tc = new TestC(); tc.test(); }[/code]
class Test{
public static void main(String[] args){
String day=new Integer(Test.getLastDay(2007,4)).toString();
System.out.println(day);
}
public static int getLastDay(int year,int month){
int new_year=year;
int new_month=month++;
if(month>12){
new_month-=12;
new_year++;
}
Date new_date=new Date(new_year,new_month,1);
return (new Date(new_date.getTime()-1000*60*60*24)).getDate();
}
}
import java.util.Calendar;public class TestC {
public void test() {
Calendar cd = Calendar.getInstance();
cd.setLenient(!cd.isLenient());
int year = cd.get(Calendar.YEAR);//使用当前日期或随意设置年份.
for (int i = 1; i < 12; i++) {
cd.set(year, i, 1);
cd.add(Calendar.DATE, -1);
System.out.println(year+"第" + (i) + "个月最后一天为: "
+ cd.get(Calendar.DATE) + "号");
}
System.out.println(year+"第12个月的最后一天为31号");//12月份单独处理.
} public static void main(String[] args) {
TestC tc = new TestC();
tc.test();
}[/code]