日常项目中常常有这样的需求:需要获取当前日期的前或后几天日期,或者特定日期的前或后几天日期。如果自己手动根据年月日时分秒的方式写的话,则需要判断前或后几天是否跨月、跨年等相关问题。
1.以当前日期(Date类型)为基础,获取后几天的日期(代码示意);
Calendar c = Calendar.getInstance();
c.setTime(rs.getDate("DUTY_START_TIME"));
c.add(Calendar.DAY_OF_MONTH, 1);// 为负数时,则为前几天
Format f = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("明天是:" + f.format(c.getTime()));
2.以当前日期(String 类型)为基础,获取后几天的日期(代码示意);
/**
* 字符串特定日期之后几天日期的获取方法
* @param specifiedDay
* @param afterDays
* @return
*/
public static String getSpecifiedDayAfter(String specifiedDay,int afterDays){
Calendar c = Calendar.getInstance();
Date date=null;
try {
date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day=c.get(Calendar.DATE);
c.set(Calendar.DATE,day+afterDays);
String dayAfter=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
return dayAfter;
}