suppose your random date is targetDate;Calendar cal = Claendar.newInstance(); cal.setTime(targetDate); int maxDate = cal.getMaximum(Calendar.DATE); cal.set(Calendar.DATE, maxDate);Date resultDate = cal.getTime();
public Date getStartOfMonth(){ int year,month,day; year = date.getYear(); month = date.getMonth(); day = 1; Date d = new Date(year,month,1); return d; } public Date getEndOfMonth(){ int year,month,day; year = date.getYear(); month = date.getMonth()+1; day =1; if(month >11){ year++; month=0; } Date d = new Date(year,month,1); d.setDate(d.getDate()-1); return d; }我写的一个类的成名函数,其中的date里指某月中的随便哪一天
cal.setTime(targetDate);
int maxDate = cal.getMaximum(Calendar.DATE);
cal.set(Calendar.DATE, maxDate);Date resultDate = cal.getTime();
可以得到最大天数,也可以得到最大周数等等。
WEEK_OF_MONTH ,WEEK_OF_YEAR,HOUR_OF_DAY,DAY_OF_YEAR等等.....得到当月最大天数是getMaximum(Calendar.DAY_OF_MONTH);
得到当年最大天数是getMaximum(Calendar.DAY_OF_YEAR);
得到当月最大周数是getMaximum(Calendar.WEEK_OF_MONTH);依此类推....参照
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html
int year,month,day;
year = date.getYear();
month = date.getMonth();
day = 1;
Date d = new Date(year,month,1);
return d;
} public Date getEndOfMonth(){
int year,month,day;
year = date.getYear();
month = date.getMonth()+1;
day =1;
if(month >11){
year++;
month=0;
}
Date d = new Date(year,month,1);
d.setDate(d.getDate()-1);
return d;
}我写的一个类的成名函数,其中的date里指某月中的随便哪一天