一.獲取傳入日期所在月的第一天
public static Date getFirstDayDateOfMonth(final Date date) { final Calendar cal = Calendar.getInstance(); cal.setTime(date); final int last = cal.getActualMinimum(Calendar.DAY_OF_MONTH); cal.set(Calendar.DAY_OF_MONTH, last); return cal.getTime(); }
二.獲取傳入日期所在月的最后一天
public static Date getLastDayOfMonth(final Date date) { final Calendar cal = Calendar.getInstance(); cal.setTime(date); final int last = cal.getActualMaximum(Calendar.DAY_OF_MONTH); cal.set(Calendar.DAY_OF_MONTH, last); return cal.getTime(); }
三.獲取傳入日期所在年的第一天
public static Date getFirstDayDateOfYear(final Date date) { final Calendar cal = Calendar.getInstance(); cal.setTime(date); final int last = cal.getActualMinimum(Calendar.DAY_OF_YEAR); cal.set(Calendar.DAY_OF_YEAR, last); return cal.getTime(); }
四.獲取傳入日期所在年的最后一天
public static Date getLastDayOfYear(final Date date) { final Calendar cal = Calendar.getInstance(); cal.setTime(date); final int last = cal.getActualMaximum(Calendar.DAY_OF_YEAR); cal.set(Calendar.DAY_OF_YEAR, last); return cal.getTime(); }
五.獲取指定年月的第一天
/** * 獲取指定年月的第一天 * @param year * @param month * @return */ public static String getFirstDayOfMonth1(int year, int month) { Calendar cal = Calendar.getInstance(); //設置年份 cal.set(Calendar.YEAR, year); //設置月份 cal.set(Calendar.MONTH, month-1); //獲取某月最小天數 int firstDay = cal.getMinimum(Calendar.DATE); //設置日歷中月份的最小天數 cal.set(Calendar.DAY_OF_MONTH,firstDay); //格式化日期 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(cal.getTime()); }
六.傳入年和月,獲取到本月的最后一天
/** * 獲取指定年月的最后一天 * @param year * @param month * @return */ public static String getLastDayOfMonth1(int year, int month) { Calendar cal = Calendar.getInstance(); //設置年份 cal.set(Calendar.YEAR, year); //設置月份 cal.set(Calendar.MONTH, month-1); //獲取某月最大天數 int lastDay = cal.getActualMaximum(Calendar.DATE); //設置日歷中月份的最大天數 cal.set(Calendar.DAY_OF_MONTH, lastDay); //格式化日期 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(cal.getTime()); }
