java 获取指定日期的前几天或后几天

/*java获取指定日期的前几天或后几天
  @param datestr指定日期
  * @param format 日期格式
  * * @param flag true为获取后几天, false:为获取前几天
  * *@param day指定需要获取的天数
  * *
  *  @returr
  * */
  public String getDate(String dateStr,String format,boolean flag, int day)
   { 
   Calendar c = Calendar.getInstance();
   Date date = null;
   try {
   	date = new SimpleDateFormat(format).parse(dateStr);
   } catch (ParseException e) {
   		e.printStackTrace();
   }
   c.setTime (date);
   int day1 - c.get(Calendar.DATE);
   if (flag) {
   		c.set(Calendar.DATE, day1 + day);
   	}else {
   		c.set(Calendar.DATE, day1- day);
   	}
   	return new SimpleDateFormat(format).format(c.getTime()); 
  }
//后一天同前一天,c.set(Calendar.DATA,day1+1);
@Test
    public void getDay() {
        String day = "2018-03-19";
        Calendar c = Calendar.getInstance();
        Date date = null;
        try {
            date = new SimpleDateFormat("yy-MM-dd").parse(day);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        c.setTime(date);
        int day1 = c.get(Calendar.DATE);
        c.set(Calendar.DATE, day1 - 1);
 
        String dayAfter = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
        System.out.println(dayAfter);

版权声明:本文为weixin_43865196原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。