根据日期条件,获取前N天和后M天的集合使用DateUtil
时间: 2024-03-19 22:44:39 浏览: 11
好的,您可以使用以下代码获取前N天和后M天的日期集合:
```
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class DateUtil {
public static List<String> getDateList(String dateStr, int preDays, int afterDays) {
List<String> dateList = new ArrayList<String>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Calendar calendar = Calendar.getInstance();
Date date = sdf.parse(dateStr);
calendar.setTime(date);
for (int i = preDays; i <= afterDays; i++) {
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, i);
Date newDate = calendar.getTime();
dateList.add(sdf.format(newDate));
}
} catch (Exception e) {
e.printStackTrace();
}
return dateList;
}
}
```
其中,dateStr是指定日期,preDays是前N天,afterDays是后M天。例如,您可以使用以下代码获取2021-10-01的前3天和后7天的日期集合:
```
List<String> dateList = DateUtil.getDateList("2021-10-01", -3, 7);
System.out.println(dateList);
```
输出结果为:
```
[2021-09-28, 2021-09-29, 2021-09-30, 2021-10-01, 2021-10-02, 2021-10-03, 2021-10-04, 2021-10-05, 2021-10-06, 2021-10-07, 2021-10-08]
```