具体思路大致如下:
1、获取当前日期所对应当月的天数
2、求出与所求日期天数的插值
3、用Calendar的add方法改变天数,得到所求日期.
public class CalendarTest {
public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
public static void main(String[] args) {
Date date = getDate(3);
System.out.println(format(date));
}
public static String format(Date date){
return sdf.format(date);
}
//求上个月倒数第prevDay天对应的日期
public static Date getDate(int prevDay){
Calendar c = Calendar.getInstance();
Date date = c.getTime();//获取当前日期
String day = format(date).substring(8,10);//获取当天日期的天数
int preDay = Integer.parseInt(day) + prevDay - 1;//获取当前天数与上个月倒数第三天的差值
c.add(Calendar.DATE,-(preDay));//当前日期减去插值
return c.getTime();
}
}
运行后的结果:
2020-08-29
小白刚开始写文章,如有错误欢迎大家指正。