你想用字符串来处理,还是用 Date 或者 Calendar 来处理?字符串的话碰到历法问题就很麻烦,比如没有公元 0 年什么的。
Calendar 来处理?怎么处理?
Calendar now = Calendar.getInstance(); now.add(Calendar.DATE,1);
Date 直接转换成long类型 + 60*60*24 再转换回Date
SimpleDateFormat s=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); Date date=new Date(); System.out.println(date.getTime()); long a =date.getTime()/1000+60*60*24; Date d=new Date(a*1000); System.out.println(s.format(d));
now.add(Calendar.DATE,1);
Date date=new Date();
System.out.println(date.getTime());
long a =date.getTime()/1000+60*60*24;
Date d=new Date(a*1000);
System.out.println(s.format(d));
public static String getNDayBeforeOneDate(String sDate, int n) {
Calendar c = switchStringToCalendar(sDate);
c.add(c.DAY_OF_MONTH, -n);
return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-"
+ c.get(c.DATE);
} // 取得某个时间后n天,格式为yyyy-mm-dd
public String getNDayAfterOneDate(String sDate, int n) {
Calendar c = switchStringToCalendar(sDate);
c.add(c.DAY_OF_MONTH, n);
return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-"
+ c.get(c.DATE);
}