java中如何获取指定日期的第一天和最后一天
//获取指定日期的第一天
public static Integer getFisrtDayOfMonth(Integer date) {
Calendar cal = Calendar.getInstance();
//设置年份
cal.set(Calendar.YEAR, Integer.parseInt(String.valueOf(date).substring(0, 4)));
//设置月份
cal.set(Calendar.MONTH, Integer.parseInt(String.valueOf(date).substring(4, 6)) - 1);
//获取某月最小天数
int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
//设置日历中月份的最小天数
cal.set(Calendar.DAY_OF_MONTH, firstDay);
//格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String firstDayOfMonth = sdf.format(cal.getTime());
return Integer.valueOf(firstDayOfMonth);
}
//获取最后一天
public static Integer getLastDayOfMonth(Integer date) {
Calendar cal = Calendar.getInstance();
//设置年份
int year = Integer.parseInt(String.valueOf(date).substring(0, 4));
cal.set(Calendar.YEAR, year);
//设置月份
int dateOfYear = Integer.parseInt(String.valueOf(date).substring(4, 6));
cal.set(Calendar.MONTH, dateOfYear - 1);
//获取某月最大天数
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
//设置日历中月份的最大天数
cal.set(Calendar.DAY_OF_MONTH, lastDay);
//格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String lastDayOfMonth = sdf.format(cal.getTime());
return Integer.valueOf(lastDayOfMonth);
}
测试
getFisrtDayOfMonth(20200906);
getLastDayOfMonth(20200906);