獲取第一天
public static String getFirstDayOfMonth(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// 設置月份
//cal.set(Calendar.MONTH, month - 1);
// 獲取某月最小天數
int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
// 設置日曆中月份的最小天數
cal.set(Calendar.DAY_OF_MONTH, firstDay);
// 格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String firstDayOfMonth = sdf.format(cal.getTime())+" 00:00:00";
return firstDayOfMonth;
}
獲取最後一天
public static String getLastDayOfMonth(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int month = cal.get(Calendar.MONTH);
// 獲取某月最大天數
int lastDay=0;
//2月的平年瑞年天數
if(month==2) {
lastDay = cal.getLeastMaximum(Calendar.DAY_OF_MONTH);
}else {
lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
}
// 設置日曆中月份的最大天數
cal.set(Calendar.DAY_OF_MONTH, lastDay);
// 格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String lastDayOfMonth = sdf.format(cal.getTime())+" 23:59:59";
return lastDayOfMonth;
}
調用
public void mytest16() throws ParseException {
String mytime = "2004-02";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
Date myDate = dateFormat.parse(mytime);
String firstDayOfMonth = getFirstDayOfMonth(myDate);
String lastDayOfMonth = getLastDayOfMonth(myDate);
System.out.println(firstDayOfMonth);
System.out.println(lastDayOfMonth);
}
結果:
2004-02-01 00:00:00
2004-02-29 23:59:59