/**
* 获取指定日期 未来 past天的日期
* @param data 指定日期 data是指定日期 例如20170608
* @param past 几天后日期 例如 7
* @return 日期 20170615
*/
public static String getFetureDate(String data,
int past) {
SimpleDateFormat sdf =
new SimpleDateFormat(
"yyyyMMdd");
// 将字符串的日期转为Date类型,ParsePosition(0)表示从第一个字符开始解析
Date date = sdf.parse(data,
new ParsePosition(
0));
Calendar calendar = Calendar.
getInstance();
calendar.setTime(date);
calendar.set(Calendar.
DAY_OF_YEAR, calendar.get(Calendar.
DAY_OF_YEAR) + past);
Date today = calendar.getTime();
String result = sdf.format(today);
return result;
}
/**
* 获取未来 第 past 天的日期
* @param past 从今天开始计算
* @return
*/
public static String getFetureDate(
int past) {
Calendar calendar = Calendar.
getInstance();
calendar.set(Calendar.
DAY_OF_YEAR, calendar.get(Calendar.
DAY_OF_YEAR) + past);
Date today = calendar.getTime();
SimpleDateFormat format =
new SimpleDateFormat(
"yyyyMMdd");
String result = format.format(today);
return result;
}
如果需要获取 当前日期的前几天 只需要将
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + past);
更改为
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);