说明
今天有个数据处理要将日期格式为yyyy-MM-dd的日期要向前推31天,我这里记录下这个方法,留着以后需要的时候再用。
代码
方法即可向前推也可向后推日期。
@GetMapping("/test222")
public String test222(HttpServletRequest request){
String date = request.getParameter("date");
String num = request.getParameter("num");
return getBeforeXDayDate(date,Integer.parseInt(num));
}
//将天粒度日期格式yyyy-MM-dd格式向前推X天或向后推X天的方法
//date为日期,day为你要相减或者相加的天
public String getBeforeXDayDate(String date,int day){
Calendar calendar=Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
//将传过来的日期设置给calendar
calendar.setTime(sdf.parse(date));
//System.out.println("当前日期="+sdf.format(calendar.getTime()));
//将传过来的日期减去X天或者加上X天
calendar.add(Calendar.DATE, day);
//System.out.println("向前推31天之前的日期="+sdf.format(calendar.getTime()));
}catch (Exception e){
e.printStackTrace();
}
return sdf.format(calendar.getTime());
}
postman调用该方法后,返回如下:
向前推七天示例:
向后推七天示例: