您的位置:首页 > 编程语言 > Java开发

java获取指定日期的前后日期

2017-06-08 10:22 323 查看
/**
* 获取指定日期 未来 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);
      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android java 日期