A. java 怎麼獲取一個月的日期
/**
*
*獲取指定月份的日歷信息
*
*@paramyear
*年
*@parammonth
*月
*@return
*/
publicstaticint[]getMonthCalendar(intyear,intmonth){
Calendarcl=Calendar.getInstance();
cl.set(year,month,1);
intfirstDay=cl.getMinimum(Calendar.DAY_OF_MONTH);
intlastDay=cl.getMaximum(Calendar.DAY_OF_MONTH);
int[]day=newint[lastDay];
for(inti=0;i<lastDay;i++){
day[i]=i+firstDay;
}
returnday;
}
B. java怎麼得到某個月的第一天和最後一天的日期,以2012-06為例
public class DateUtil { /** * 獲取給定時間所在周的第一天(Sunday)的日期和最後一天(Saturday)的日期 * * @param calendar * @return Date數組,[0]為第一天的日期,[1]最後一天的日期 */ public Date[] getWeekStartAndEndDate(Calendar calendar) { Date[] dates = new Date[2]; Date firstDateOfWeek, lastDateOfWeek; // 得到當天是這周的第幾天 int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 減去dayOfWeek,得到第一天的日期,因為Calendar用0-6代表一周七天,所以要減一 calendar.add(Calendar.DAY_OF_WEEK, -(dayOfWeek - 1)); firstDateOfWeek = calendar.getTime(); // 每周7天,加6,得到最後一天的日子 calendar.add(Calendar.DAY_OF_WEEK, 6); lastDateOfWeek = calendar.getTime(); dates[0] = firstDateOfWeek; dates[1] = lastDateOfWeek; return dates; } /** * 獲取給定時間所在月的第一天F的日期和最後一天的日期 * * @param calendar * @return Date數組,[0]為第一天的日期,[1]最後一天的日期 */ public Date[] getMonthStartAndEndDate(Calendar calendar) { Date[] dates = new Date[2]; Date firstDateOfMonth, lastDateOfMonth; // 得到當天是這月的第幾天 int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // 減去dayOfMonth,得到第一天的日期,因為Calendar用0代表每月的第一天,所以要減一 calendar.add(Calendar.DAY_OF_MONTH, -(dayOfMonth - 1)); firstDateOfMonth = calendar.getTime(); // calendar.getActualMaximum(Calendar.DAY_OF_MONTH)得到這個月有幾天 calendar.add(Calendar.DAY_OF_MONTH, calendar .getActualMaximum(Calendar.DAY_OF_MONTH) - 1); lastDateOfMonth = calendar.getTime(); dates[0] = firstDateOfMonth; dates[1] = lastDateOfMonth; return dates; } public static void main(String[] args) { DateUtil dateUtil = new DateUtil(); Calendar now = Calendar.getInstance(); Date[] weekDates = dateUtil.getWeekStartAndEndDate(now); Date[] monthDates = dateUtil.getMonthStartAndEndDate(now); System.out.println("firstDateOfWeek: " + weekDates[0] + " ,lastDateOfWeek: " + weekDates[1]); System.out.println("firstDateOfMonth: " + monthDates[0] + " ,lastDateOfMonth: " + monthDates[1]); }}