java写一个方法,从某天往前倒退24个月是几月几号?入参某天是String类型、出参是Date类型
时间: 2024-03-26 18:39:40 浏览: 12
可以使用Java中的SimpleDateFormat和Calendar类来实现这个功能。以下是一个简单的实现:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateCalculator {
public static void main(String[] args) throws ParseException {
// 假设某天是2022年11月15日
String dateString = "2022-11-15";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dateString);
Date result = subtractMonths(date, 24);
System.out.println("24个月前的日期是:" + sdf.format(result));
}
/**
* 从指定日期往前推指定月数
* @param date 指定日期
* @param months 要推的月数
* @return 推算后的日期
*/
public static Date subtractMonths(Date date, int months) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, -months);
return calendar.getTime();
}
}
```
上面的代码中,我们先假设某天是2022年11月15日,然后将其转换为Date类型。接着调用subtractMonths方法往前推24个月。最后输出推算后的日期,结果为:
```
24个月前的日期是:2020-11-15
```
所以,从2022年11月15日往前推24个月,结果是2020年11月15日。