一、获取指定时间所在月份的最后一天
传进来的time为指定时间
private Date lastMonthDay(Date time){
//通过Calendar.getInstance()方法创建一个Calendar实例对象。
Calendar calendar = Calendar.getInstance();
//使用calendar.setTime(time)方法将指定的时间设置到该Calendar对象中。
calendar.setTime(time);
//使用calendar.set(Calendar.DAY_OF_MONTH, 1)方法将日期设置为当月的第一天
calendar.set(Calendar.DAY_OF_MONTH, 1);
//使用calendar.add(Calendar.MONTH, 1)方法将月份加1,即切换到下一个月
calendar.add(Calendar.MONTH, 1);
//再使用calendar.add(Calendar.DATE, -1)方法将日期减去1天,即得到当前月份的最后一天
calendar.add(Calendar.DATE, -1);
//使用calendar.get(Calendar.DAY_OF_MONTH)方法获取最后一天的日期,并将其赋值给变量lastDay
int lastDay = calendar.get(Calendar.DAY_OF_MONTH);
//通过System.out.println(lastDay)打印最后一天的日期
System.out.println(lastDay);
//返回calendar.getTime()获取最后一天的时间并返回
return calendar.getTime();
}
二、获取当前时间上一个月,下一个月,当月的最后一天
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();//获取一个Calendar对象
cal.setTime(new Date() );//获取当前时间
cal.add(Calendar.MONTH, -1);//获取当前时间上一个月
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));//获取上个月的第一天
Date lastMonth = cal.getTime();//得到上个月的第一天
String shangyue_oneday = sdf.format(lastMonth);
System.out.println("得到上个月的第一天"+ shangyue_oneday);
cal.add(Calendar.MONTH, 1);//获取当前时间的下一个月
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));//获取下一个月的最后一天
Date preMonth=cal.getTime();//得到下个月的最后一天
String xiayue_lastday = sdf.format(preMonth);
System.out.println("得到下个月的最后一天"+xiayue_lastday);
我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人!