直接复制粘贴就可以用,你也可以根据自己的需求自行定制,亲测正常运行!!!
/**
* 获取当前日期前后N天的日期 支持 yyyy-MM-dd ,yyyy/MM/dd
* MM/dd , yyyy/MM/dd HH:mm:ss , yyyy-MM-dd HH:mm:ss
* ps:还有很多日期格式你可根据自己需求自行测试,绝对完美支持。
*
* 参数 day :你需要前后几天的日期就传入几,比如5天,就传5
*
* ps:因为我的项目需要首先添加了一次当前日期,所以会比传入的日期
* 多一天,比如需要5天,就会是6天,你可根据自己项目的需要自行更改。
*
* ps:因为我需要当前日期前几天的日期,所以如果你需要后几天的日期
* 请更改-1为+1即可。
*
* 下面注释,写的很详细,我就不再废话了,亲测可用。
* */
private ArrayList<String> getDateList(int day) {
//创建集合储存日期
ArrayList<String> dateList = new ArrayList<>();
//获取当前日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String format = sdf.format(new Date().getTime());
//此处是我项目的需求,需要保存当前日期在第一位,你也可以根据自己的需求自行决定
dateList.add(format);
for (int i = 0; i < day;i++){
// 将当前的日期转为Date类型,ParsePosition(0)表示从第一个字符开始解析
Date date = sdf.parse(format, new ParsePosition(0));
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// add方法的第二个参数n中,正数表示该日期后n天,负数表示该日期的前n天,你可根据自己的需求自行决定,
//如果项目中需要多次调用,你也可把这个参数,通过方法动态传入
calendar.add(Calendar.DATE, -1);
Date date1 = calendar.getTime();
format = sdf.format(date1);
dateList.add(format);
}
return dateList;
}