import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class DateUtil {
/***
* 查询前后n天日期
*
* @param args
*/
public static void main(String[] args) {
int intervals=7;
List passDaysList = new ArrayList<>();
List futureDaysList = new ArrayList<>();
for (int i = 0; i <intervals; i++) {
passDaysList.add(getDays(i,false));
futureDaysList.add(getDays(i,true));
}
System.out.println("过去日期: "+passDaysList) ;
System.out.println("==============================================================================================");
System.out.println("未来日期: "+futureDaysList) ;
}
/**
*
* @param i 第几天
* @param b true:查询未来日期, false:查询过去日期
* @return
*/
private static String getDays(int i, boolean b) {
Calendar calendar = Calendar.getInstance();
if (b) {
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + i);
}else {
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - i);
}
Date today = calendar.getTime();
/**不带星期*/
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
/**带星期*/
// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd (EEEE)");
String result = format.format(today);
return result;
}
}
过去日期: [2022-05-07, 2022-05-06, 2022-05-05, 2022-05-04, 2022-05-03, 2022-05-02, 2022-05-01]
==============================================================================================
未来日期: [2022-05-07, 2022-05-08, 2022-05-09, 2022-05-10, 2022-05-11, 2022-05-12, 2022-05-13]